加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 16:16:58 所属栏目:MsSql教程 来源:网络整理
导读:假设我有两张桌子:汽车和passtest.汽车桌子包含… carname modelnumber ..... 通过的表格包含一辆汽车通过的每一个测试 id carname testtype date ..... 1 carA A 20002 carB C 20003 carC D 20014 carA C 2002 现在,如何从通过所有测试(A,B,C,D)的传递表中
假设我有两张桌子:汽车和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
)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读