下面的查询返回一个空结果集。为什么?我希望检索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)
感谢。
答案 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