2015-09-18 90 views
0

我希望能夠基於多個列的值來選擇行的值進行選擇,例如,如下表:MySQL的基礎上多列

column_1 | column_2 | column_3 
------------------------------ 
1  | a  | b 
2  | a  | c 
3  | b  | z 

我不知道該怎麼辦所以,和我目前的MySQL聲明看起來像這樣:

SELECT * FROM table WHERE column_2, column_3 IN ((a, b), (b, z)); 

這不起作用,但我希望我想要實現的是明顯的。有誰知道如何做到這一點?

回答

3

您需要在列名稱周圍放置括號。你需要引用字符串。

SELECT * FROM table 
WHERE (column_2, column_3) IN (('a', 'b'), ('b', 'z')); 

DEMO

+0

哈哈!是的,我把它們放在文字中,我忘了把它放在例子中。我不敢相信我需要括號。謝謝! – alwaysboots

0

正如Barmar已經提到的括號內。或爲什麼不使用邏輯查詢;) 其中一些發現它更容易...

SELECT * FROM Table1 
WHERE 
(column_2 = 'a' and column_3 = 'b') 
or 
(column_2 = 'b' and column_3 = 'z') 
;