{% else-1 %}
SV * 2.63
(26 мар 2017, 22:31) (0/0) [0]
bibilink,

$duel = $db->query("
SELECT d.id, duel_raz.name, users.login,
(SELECT login FROM `users` WHERE id = d.id_ank) AS login2,
d.time, d.id_user, d.id_ank FROM `duel` AS `d`
INNER JOIN `users` ON d.id_user = users.id
INNER JOIN `duel_raz` ON d.cel = duel_raz.id
ORDER BY d.id DESC LIMIT ".$start['s'].",".$max ) ;

Всё работает, именно так, как мне надо, в нужном порядке.

Array ( [id] => 1
[name] => Кто красивее?
[login] => SV
[login2] => Неблагодарная
[time] => 2147483647
[id_user] => 1 [id_ank] => 2 )

Это ничего, что я их вразнобой SELECT'ю? Что теперь скажешь?
SV * 2.63
(26 мар 2017, 21:30) (0/0) [0]
* Я в восторге)))) Окропил святой водой, и удалил строку с запросом вообще))) Буду писать с inner join.
SV * 2.63
(26 мар 2017, 13:21) (0/0) [0]
bibilink, Сделал без джойнов

$duel = $db->query("SELECT duel.*, users.login, duel_raz.name FROM duel, users, duel_raz WHERE duel.id_user = users.id AND duel.cel = duel_raz.id"*;

print_r выдает

Array ( [id] => 1 [id_user] => 1 [id_ank] => 2 [cel] => 1 [pob] => 0 [sogl] => 1 [time] => 2147483647 [login] => SV [name] => Кто красивее? )

Осталось еще как-то впихнуть туда подзапрос на users.login WHERE duel.id_ank = users.id AS login2


$duel = $db->query("SELECT (SELECT users.login FROM duel, users WHERE duel.id_ank = users.id) AS login2 , duel.*, users.login, duel_raz.name FROM duel, users, duel_raz WHERE duel.id_user = users.id AND duel.cel = duel_raz.id"*;

Работает. Я ничего лишнего не написал, не?))
Может чет надо выбросить за ненадобностью?
SV * 2.63
(25 мар 2017, 23:03) (0/0) [0]
bibilink, игрался, методом тыка перебирал и менял всё местами. Кучу undefined выкидывает. Ну этот запрос и не подойдет, так как
таблица "duel"
id | id_user | id_ank | cel
Надо получить
login с таблицы "users" по id = id_user
login с таблицы "users" по id = id_ank
name с таблицы "duel_raz" по id = cel

Это в одном запросе реально совместить?
SV * 2.63
(25 мар 2017, 19:46) (0/0) [0]
bibilink, а таблица пользователей в данном случае какая?
SV * 2.63
(25 мар 2017, 19:40) (0/0) [0]
bibilink, тогда была сортировка по количеству комментариев, а сейчас не сортировка, а получение логинов для определенных id
SV * 2.63
(25 мар 2017, 19:13) (0/0) [0]
Задача такова:
Имеется таблица "duel", с полями id, user_id, ank_id.
Выводится циклом, и в каждой итерации по два запроса, один запрашивает login с таблицы users по id, который user_id, второй запрашивает login по id, который ank_id. Но это же извращение. Как мне получить логины в одном запросе с дуэлями ?
По какому принципу это делается? например получил вывод с "duel"
id | user_id | ank_id
1 | 123 | 456
2 | 312 | 654
А кроме этого получить только логины от id 123, 312, 456,654 с таблицы "users" в одном запросе. чтобы вывести
1 | Вася | Петя
2 | Коля | Миша
Перечитал кучу примеров выборок, сплошные извращения разными методами. А как по минимуму?
  • 1 из 1