{% else-1 %}
Обновить | Подписаться | Поднять тему
Чтобы выполнить действие авторизируйтесь или пройдите регистрацию на сайте.
11.
SV * 2.63
[автор] (26 мар 2017, 21:30) [0/0] [0] [отв] [спам] [под] +1 | -1

* Я в восторге)))) Окропил святой водой, и удалил строку с запросом вообще))) Буду писать с inner join.

12.
SV * 2.63
[автор] (26 мар 2017, 22:31) [0/0] [0] [отв] [спам] [под] +1 | -1

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'ю? Что теперь скажешь?

13.
bibilink * 19.01
(26 мар 2017, 22:39) [0/0] [0] [отв] [спам] [под] +1 | -1

SV, хз, раз работает то и это хорошо *

14.
bibilink * 19.01
(26 мар 2017, 23:02) [0/0] [0] [отв] [спам] [под] +1 | -1

SV, чтобы избежать отдельного запроса можно добавить еще одно подключение users
INNER JOIN `users` ON d.id_ank = users.id
По id_ank
Только присвоить алиасы для "первой" и "второй" users чтобы не было конфликта.
Типа us1 и us2

Как лучше в плане производительности не знаю.
Но если брать тот вариант, что сейчас, то к выборке второго логина можно добавить LIMIT 1, указывая на первый (единственный) результат выборки, дабы далее поиск не шел.

Чтобы писать сообщения авторизируйтесь или пройдите регистрацию на сайте.
Подписаны: 0
Скачать тему | Файлы темы | Фильтр сообщений