我正在尝试创建一个从三个表中选择的查询。
m_release
---------------------------
release_id名称
---------------------------
1个发行版1
2版本2
3版本3
mk_release_artist
---------------------------
release_id artist_id
---------------------------
1134
2135
mk_release_remix
---------------------------
release_id artist_id
---------------------------
3 134
到目前为止,我已经创建了以下查询,但是它不返回任何行:
选择*从m_release A
加入mk_release_artist B于A.release_id = B.release_id AND B.artist_id = 134
加入mk_release_remix C ON A.release_id = C.release_id AND C.artist_id = 134
当我使用一个JOIN从两个表中选择时,它正在工作
选择*从m_release A
加入mk_release_artist B于A.release_id = B.release_id AND B.artist_id = 134
我期望看到的输出是:
---------------------------
release_id名称
---------------------------
1个发行版1
3版本3
最佳答案
SELECT A.*
FROM m_release A
LEFT JOIN mk_release_artist B ON A.release_id = B.release_id
LEFT JOIN mk_release_remix C ON A.release_id = C.release_id
WHERE 134 in (B.artist_id, C.artist_id)
关于mysql - MySQL多个内部联接不返回行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26875394/