【发布时间】:2013-03-19 14:52:09
【问题描述】:
我正在尝试使用 IN 子句,但是过滤需要针对由 2 列定义的一组项目。这可能吗?可能还有其他方法可以做到这一点(例如表变量),但如果可能的话,我想将它作为一个 IN 子句来做,因为这样在我的应用程序中动态创建会更加优雅和简单。
这个伪代码可能会让我更清楚我想要做什么。
SELECT *
FROM Distributors
WHERE (City,State) IN (('Springfield','OH'), ('Springfield','MO'), ('Houston','TX'))
【问题讨论】:
-
什么版本的 SQL Server?
-
我过去通过 concatinating 做过这件事;但我不确定这是一个好方法:我会做类似 WHERE City + '@' + State IN ('Springfield@OH', 'Springfield@MO', 'Houston@TX') 之类的事情
标签: sql sql-server in-clause