sql-server - 两个选择的公共(public)组,sql server

标签 sql-server select join

如何联合、连接或 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/

相关文章:

mysql - 使用 MYSQL 而不是 MSSQL 的跨表连接

mysql - 对人口统计数据集进行健壮的 SQL 查询

SQL 仅选择不包含相关表中使用的 ID 的行

select - KDB 从每组中选择第一行

java - 在 Java 中轮询对象以获取数据

mysql - 如何将多个表连接在一起

Mysql:连接创建 View 重复行4次

mysql - MSSQL 使用分隔符分割字符串

多个数据库条目的 SQL 更新

sql - 在 SQL Server 中删除全局临时表的索引