Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / LEFT JOIN "один к многим", вывести одну строку и остановится. Как? / 2 сообщений из 2, страница 1 из 1
07.09.2013, 17:45:10
    #38390051
grecha10
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LEFT JOIN "один к многим", вывести одну строку и остановится. Как?
Привет!

В выводе требуется только одна (любая из подходящих) строка из правой таблицы, а их там много. Как составить запрос, что бы после того как одна строка найдена, дальнейший перебор строк в правой таблице не проводился? Для оптимизации, разумеется.

Вот это хочу правильно написать:
Код: sql
1.
2.
3.
4.
5.
SELECT f.*
FROM table_firm f
LEFT JOIN table_reviews r ON r.idFirm=f.id LIMIT 1
WHERE f.id>0
ORDER BY f.id



Вот так, кстати, работает как мне нужно. Но есть сомнения что это лучший (самый быстрый) вариант.
Код: sql
1.
2.
3.
4.
5.
6.
SELECT f. * , r. * 
FROM table_firms f
LEFT JOIN table_reviews r ON r.idFirm = f.id
WHERE f.id =8874
GROUP BY r.idFirm
ORDER BY f.id



Что скажете?
...
Рейтинг: 0 / 0
07.09.2013, 21:51:33
    #38390138
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LEFT JOIN "один к многим", вывести одну строку и остановится. Как?
Коррелированный подзапрос с лимитом...
См. ФАК по выбору первой/последней записи в группе... только тебе сортировка не нужна.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / LEFT JOIN "один к многим", вывести одну строку и остановится. Как? / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]