从两个 Select 语句返回重叠的 SQL 语句

标签 sql sql-server tsql

我在 SQL Server 上有一个表和两个具有不同 WHERE 条件的 Select 语句

我想要的是匹配两个 Select 语句的结果,而不仅仅是一个。

我试过嵌套的 SELECT 语句,但我的运气不太好。

我的表格如下所示

ID    Name    Field2    Field3

1     John     100       NULL
2     Dave     150       NULL
3     Tim      NULL      150
4     Dave     NULL      150

我的 SELECT 语句如下:

SELECT * FROM table WHERE Field2 = 150
SELECT * FROM table WHERE Field3 = 150

但我只想返回“Dave”,因为只有他出现在两个 SELECT 语句的结果中。

我如何实现这一目标?

最佳答案

使用INTERSECT :

SELECT Name FROM table WHERE Field2 = 150
INTERSECT
SELECT Name FROM table WHERE Field3 = 150

关于从两个 Select 语句返回重叠的 SQL 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13479612/

相关文章:

sql - Postgres 在表之间复制数据

sql-server - Sql Server Service Broker 对话组

sql-server - 使用 TRANSACT-SQL 将节点添加到 XML

sql - 如何在 html 中嵌入图像并通过 msdb.dbo.sp_send_dbmail 将 html 作为电子邮件发送?

sql - SQL 中列名不明确的查询错误

sql - "FROM a, b"和 "FROM a FULL OUTER JOIN b"有什么区别?

java - 对于银行应用程序来说,SQL 事务或 Java 端事务哪个更好?

c# - 用c#检查年份是否为闰年

sql - 选择带时区的时间戳,但忽略秒

php - 如何在数据库中写入字符