SQL Server – 选择与列表中所有项目匹配的行

前端之家收集整理的这篇文章主要介绍了SQL Server – 选择与列表中所有项目匹配的行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我有两张桌子:汽车和passtest.汽车桌子包含…
carname modelnumber .....

通过的表格包含一辆汽车通过的每一个测试

id carname testtype date ..... 
1  carA    A        2000
2  carB    C        2000
3  carC    D        2001
4  carA    C        2002

现在,如何从通过所有测试(A,B,C,D)的传递表中选择一辆汽车,

我尝试了IN语句,但它不包含所有值的行.
我正在寻找一个语句来匹配所有行中的列表中的所有值.

解决方法

这个怎么样?
SELECT carname
FROM PassedTest
GROUP BY carname
HAVING COUNT(DISTINCT testtype) = 4

您还可以将其用作从汽车表获取信息的内部声明:

SELECT *
FROM cars
WHERE carname IN (
    SELECT carname
    FROM PassedTest
    GROUP BY carname
    HAVING COUNT(DISTINCT testtype) = 4
)

猜你在找的MsSQL相关文章