Здравствуйте. Есть три таблицы
release
------------
id | title
1 Some
2 Some
3 Some
artist
------------
id | title
1 Artist1
2 Artist2
release_2_artist
------------
id | release_id | artist_id
1 1 1
2 2 1
3 3 2
Нужен запрос результатом которого станет:
release.id | release.title
1 Some
3 Some
Запрос вида SELECT DISTINCT('title'), id FROM release WHERE 1
, возвращает только одну запись. В базе на 70к записей потеря контента составляет около 7к.
суть вопроса: Для каждого исполнителя, выбрать альбомы с уникальным title. Реально ли это сделать одним запросом SQL, без костылей на PHP?
Попробуйте
SELECT release.id as release_id, release.title
FROM `release_2_artist`
JOIN `release` ON release.id = release_2_artist.release_id
GROUP BY release_2_artist.artist_id, release.title
Думаю, что такой запрос подойдёт:
SELECT DISTINCT
r2a.release_id AS release_id,
r.title AS title
FROM
release_2_artist r2a
JOIN release r ON r2a.release_id = r.id;
Столбцы в ответе у меня называются чуть по-другому, чем у Вас в вопросе, но псевдонимы-то Вы любые сочинить можете)
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Добрый деньЕсть метод в контроллере с условием: