内部联接,具有相同ID的多个记录,意外的空结果集

时间:2011-12-19 11:48:51

标签: mysql inner-join

下面的查询返回一个空结果集。为什么?我希望检索50的id。问题似乎与查询结尾的多个AND语句有关。

编辑:但是,如果view_layout_rows_columns中存在BOTH行,我只希望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)

感谢。

1 个答案:

答案 0 :(得分:1)

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