为了账号安全,请及时绑定邮箱和手机立即绑定

选择与列表中的所有项目匹配的行组

选择与列表中的所有项目匹配的行组

守候你守候我 2019-10-19 14:56:09
假设我有两个表:cars –汽车清单carname | modelnumber | ...passedtest –包含汽车通过的所有测试:id | carname | testtype | date | ...1  | carA    | A        | 2000 |2  | carB    | C        | 2000 |3  | carC    | D        | 2001 |4  | carA    | C        | 2002 |现在,如何从passedtest通过所有测试(A,B,C,D)的表中选择一辆汽车?我尝试了该IN语句,但它也与通过一项测试的汽车匹配。我正在寻找一条语句来匹配所有行列表中的所有值。
查看完整描述

3 回答

?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

这个怎么样?


SELECT carname

FROM PassedTest

GROUP BY carname

HAVING COUNT(DISTINCT testtype) = 4

您还可以将其用作从cars表中获取信息的内部语句:


SELECT *

FROM cars

WHERE carname IN (

    SELECT carname

    FROM PassedTest

    GROUP BY carname

    HAVING COUNT(DISTINCT testtype) = 4

)


查看完整回答
反对 回复 2019-10-19
  • 3 回答
  • 0 关注
  • 406 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信