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