下面的查询返回一个空的结果集。为什么?我正在寻找ID为50的问题。问题似乎与查询末尾的多个AND语句有关。
编辑:但是,如果view_layout_rows_columns中不存在任何一行,则我只希望SELECT返回ID。
Table: view_layout_rows
ID owner rows
___________________
50 1 2
Table: view_layout_rows_columns
ID row columns
___________________
50 1 5
50 2 5
SELECT vlr.id
FROM view_layout_rows vlr
INNER JOIN view_layout_rows_columns vlrc
ON vlr.id = vlrc.id
WHERE vlr.rows = 2
AND (vlr.owner = 0 OR vlr.owner = 1)
AND (vlrc.row = 1 AND vlrc.columns = 5)
AND (vlrc.row = 2 AND vlrc.columns = 5)
谢谢。
最佳答案
AND (vlrc.row = 1 AND vlrc.columns = 5)
AND (vlrc.row = 2 AND vlrc.columns = 5)
所以,这不是有点矛盾吗?
vlrc.row
不能同时等于1和2。您可能想要AND vlrc.row IN (1,2)
AND vlrc.columns = 5
关于mysql - 内部联接,具有相同ID的多个记录,意外的空结果集,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8560868/