(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'ю? Что теперь скажешь?
(26 мар 2017, 21:30) (
0/
0)
[
0]
Я в восторге)))) Окропил святой водой, и удалил строку с запросом вообще))) Буду писать с inner join.
(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"
;
Работает. Я ничего лишнего не написал, не?))
Может чет надо выбросить за ненадобностью?
(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
Это в одном запросе реально совместить?
(25 мар 2017, 19:46) (
0/
0)
[
0]
bibilink, а таблица пользователей в данном случае какая?
(25 мар 2017, 19:40) (
0/
0)
[
0]
bibilink, тогда была сортировка по количеству комментариев, а сейчас не сортировка, а получение логинов для определенных id
(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 | Коля | Миша
Перечитал кучу примеров выборок, сплошные извращения разными методами. А как по минимуму?