我正在創建一個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