我正在创建一个MySQL查询,我想检索一个ID,但只有当我在查询中指定的所有行中找到它时才匹配它。MySql,内部连接查询,必须匹配多行
Table: view_layout_rows
ID owner rows
___________________
49 1 2
50 1 2
Table: view_layout_rows_columns
ID row columns
___________________
49 1 5
49 2 4
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)
,所有下列条件必须满足:
(vlrc.row = 1 AND vlrc.columns = 5)
(vlrc.row = 2 AND vlrc.columns = 5)
只有ID 50应返回。 49不应退还,因为它只满足最后两个条款中的第一个条款。
我该怎么办? (请注意,我以前问过这个问题,但我的要求不清楚。第二次尝试。) 在此先感谢您的任何建议。
感谢 - 这看起来不错。如果我有两个以上的行,例如5行,如果我用五个内部联接动态构造查询,这仍然可以工作吗? – Lemmy 2012-01-05 09:59:46
试试看:-) – 2012-01-05 10:00:10
@Lemmy:应该工作,是的。虽然,如果我是你,我会重新思考我的模式在这种情况下:-) – 2012-01-05 10:02:57