如何联合、连接或 CTE 两个选择,以便我只获得两者中都存在的结果
SELECT DISTINCT userid FROM ads WHERE status <> 'BASIC'
假设结果集是:1, 2, 3, 4, 5
SELECT DISTINCT userid FROM ads WHERE state = 'Alabama'
假设结果集是 2, 4, 5, 8, 9
那么我想要 2、4 和 5
最佳答案
这就是 INTERSECT
做。
我从查询中删除了 DISTINCT
,因为 SQL Server 中的 INTERSECT
暗示了这一点(它没有实现 INTERSECT ALL
)
SELECT userid
FROM ads
WHERE status <> 'BASIC'
INTERSECT
SELECT userid
FROM ads
WHERE state = 'Alabama'
关于sql-server - 两个选择的公共(public)组,sql server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8992018/