簡體   English   中英

在列值對之間搜索— SQL Server

[英]searching across column value pairs — SQL server

我正在搜索數據庫以查找列對的匹配值。

也就是說,表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'.

有捷徑嗎?

如果我只搜索一列的值,說“ this”,這很容易:

    select id from T1 where this in ('aa', 'bbbb', 'cccc')

我正在使用SQL Server。

TIA。

您可以使用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 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM