繁体   English   中英

选择两列包含值组合的所有行

[英]Select all rows where two columns contain a combination of values

这是我的架构:

CREATE TABLE T (A CHAR(1), B CHAR(1));
INSERT INTO T (A, B) VALUES('1', '1');
INSERT INTO T (A, B) VALUES('2', '2');
INSERT INTO T (A, B) VALUES('1', '2');

我不会选择A和B列包含值组合的行。 例如,假设我要查找组合A = 1,B = 1和A = 2,B = 2,而没有其他选择。 如果是单个值,则可以使用IN语句,但是当我尝试这样做时:

SELECT * FROM T WHERE A IN ('1', '2') AND B IN ('1', '2')

我退回所有三行。

如何匹配值的组合?

这是您要在括号中使用OR吗?

select * 
from T
where ( A = '1' AND B = '1' ) OR ( A = '2' AND B = '2' )

您可以检查以下查询:

SELECT * FROM T WHERE (A,B) IN (('1', '1'),('2', '2'));

请参阅下面的给定链接

点击这里

您可以使用类似下面的sql

选择*从T位置(A == B)和A IN('1','2');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM