Я пытаюсь создать запрос, который выбирает из трех таблиц.MySQL множественное внутреннее соединение, не возвращающее строки
m_release --------------------------- release_id name --------------------------- 1 release1 2 release2 3 release3 mk_release_artist --------------------------- release_id artist_id --------------------------- 1 134 2 135 mk_release_remix --------------------------- release_id artist_id --------------------------- 3 134
Я создал следующий запрос до сих пор, но он не возвращает ни одной строки:
SELECT * FROM m_release A JOIN mk_release_artist B ON A.release_id = B.release_id AND B.artist_id = 134 JOIN mk_release_remix C ON A.release_id = C.release_id AND C.artist_id = 134
Она работает, когда я буду выбирать из двух таблиц, используя один РЕГИСТРИРУЙТЕСЬ
SELECT * FROM m_release A JOIN mk_release_artist B ON A.release_id = B.release_id AND B.artist_id = 134
выход я жду, чтобы увидеть это:
--------------------------- release_id name --------------------------- 1 release1 3 release3
Трудно сказать, не, например, данные и ожидаемые результаты –
Вы абсолютно уверены, что есть соответствующие строки in'mk_release_remix'? – jpw
Кроме того, вы уверены, что знаете, что такое ** INNER ** join действительно делает? Если нет, попробуйте поменять этот последний INNER JOIN на LEFT JOIN и проверить разницу. –