Задать вопрос
evgajukov
@evgajukov
Java разработчик

Как сформировать SQL запрос?

Имеются две таблицы в mysql:
table1
-------
id
name

table2
-------
id
name
table1_id
filter

Необходимо сформировать такой запрос, который вернул бы все записи из первой таблицы с дополнительной колонкой, в которой рассчитывается количество записей во второй таблице, ссылающиеся на первую и при этом удовлетворяющие определенному фильтру). Следует учесть, что во второй таблице для конкретной записи из первой может либо не оказаться совсем ссылающихся на нее, либо они могут не удовлетворять фильтру и для таких записей должно проставляться 0.

Бьюсь уже несколько часов и не получается составить такой запрос.
  • Вопрос задан
  • 189 просмотров
Подписаться 2 Оценить Комментировать
Ответ пользователя Дмитрий Беляев К ответам на вопрос (4)
bingo347
@bingo347
Crazy on performance...
SELECT t1.id, t1.name, COUNT(t2.id)
FROM table1 t1
LEFT JOIN table2 t2 ON t1.id = t2.table1_id AND t2.filter = 'Ваше условие'
GROUP BY t1.id
Ответ написан