我在数据库中搜索列对的匹配值。
说,表T1有这3列:
(id, this, that)
,查询是
select id from T1 where
this = 'aValue' and that = 'bbb'
OR this = 'CCCC' and that = 'DDD'
OR this = 'EE' and that = 'EEE'.
有这样的捷径吗?
如果我只搜索一列的值,说“这个”,很容易:
select id from T1 where this in ('aa', 'bbbb', 'cccc')
我正在使用SQL Server。
TIA。
答案 0 :(得分:1)
您可以使用VALUES
子句构造表值,然后使用内部联接来获取所有匹配项:
SELECT id
FROM T1
INNER JOIN (
VALUES ('aValue', 'bbb'), ('CCCC', 'DDD'), ('EE', 'EEE')
) AS C(x,y)
ON this = C.x AND that = C.y