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

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

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

@H_403_2@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语句,但它不包含所有值的行.
我正在寻找一个语句来匹配所有行中的列表中的所有值.

解决方法

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

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

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

猜你在找的MsSQL相关文章