【发布时间】:2015-09-29 06:17:45
【问题描述】:
抱歉,如果标题不完全准确,但我不确定如何准确表达我的问题。我只想返回结果包括 IN 语句中按特定列分组的所有项目的行。所以我的查询是:
SELECT [DRSY],
[DRRT],
[DRKY],
[DRDL01]
FROM dbo.f0005
WHERE DRKY IN ('FC', 'OO', 'SH')
我想返回 DRSY 和 DRRT 包含所有项目 'FC'、'OO'、'SH' 的记录。也许一张图片可以帮助说明这一点:
我想要返回的唯一行是 DRSY = '00' 和 DRRT = 'DT' 因为这包括我指定的所有 3 个值。我尝试寻找不同的方式来使用 IN、EXISTS 甚至 ALL。
【问题讨论】:
-
你不能在 WHERE 子句中指定它们吗? WHERE DRSY = '00' 和 DRRT = 'DT'
-
您使用的是哪个 DBMS?
-
顺序重要吗,第一个值总是
DRSY和第二个DRRT等等? -
这只是一个例子。我希望能够确定在 where 子句中具有所有值的列 DRSY 和 DRRT 值的所有分组。也可能有 DRSY = '01' 和 DRRT = 'ST' 的组合,它们也具有所有 3 个值。这就是我想要找到的。
-
抱歉,SQL Server 2012。
标签: sql sql-server tsql exists