我試圖找到一個查詢,選擇關聯表的每一行,其中第二列表示必須全部與第一列匹配的不同值。MySQL查詢等價於「AND」,而「IN」是「OR」?
示例:我有列X和Y.我想要獲取X的值,其中X是用指定的每個Y定義的。
x y
======
a 1
a 2
b 1
a 3
c 2
c 3
SELECT DISTINCT x FROM table WHERE y AND (2, 3)
這當然查詢無效。我希望得到a
和c
莫名其妙。
因爲我也試圖更好地學習MySQL查詢,所以如果能提供一個答案,可以給出解答背後邏輯的解釋,我將不勝感激。謝謝! :)
爲什麼不能使用'WHERE ... IN()'? – Midas 2011-06-05 16:52:37
您的輸入集不明確。假設一個額外的行(x ='d',y = 3) - 是您的查詢返回的行嗎? – 2011-06-05 16:53:00
他的意思是說,他希望那些'x'的值在_both_ 2和3出現在'y'中。 – Alnitak 2011-06-05 16:55:25