我希望能够根据多列的值选择行,例如,给定下表:
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));
这不起作用,但我希望我想要实现的目标是显而易见的。有谁知道怎么做?
答案 0 :(得分:3)
您需要在列名称周围添加括号。你需要引用字符串。
SELECT * FROM table
WHERE (column_2, column_3) IN (('a', 'b'), ('b', 'z'));
答案 1 :(得分:0)
正如Barmar已经提到过括号..或者为什么不使用逻辑查询;) 哪些人发现它更容易......
SELECT * FROM Table1
WHERE
(column_2 = 'a' and column_3 = 'b')
or
(column_2 = 'b' and column_3 = 'z')
;