Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
G_Z 05.07.2014 14:45
на самом деле мой первый вариант это фактически вариант G_Z, где часть условия вынесена из ON в WHERE. я обычно в ON оставляю только условие объединения таблиц, а фильтрацию выношу в WHERE, т.к. это мне кажется лучше с точки зрения логикиМеня приучили к обратному: всё, что относится к таблице писать в ON.
SELECT c.car_id, c.date, c.car_name, c.car_modification, c.price, c.mileage, c.color, ci.img_name FROM cars AS c JOIN ( SELECT i.car_id, i.img_name, MIN(i.img_id) FROM images AS i GROUP BY i.car_id ) AS ci ON (c.car_id = ci.car_id) ;есть пара оговорок:
SELECT i.car_id, i.img_name, MIN(i.img_id) FROM images AS i GROUP BY i.car_idMySQL не всегда вернёт при такой группировке корректный img_name, если (не в данной задаче) img_id может повторяться — будут ошибки.