假设我有两张桌子:汽车和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 )