gpt4 book ai didi

sql-server - Sql查询以获取匹配和不匹配记录的计数

转载 作者:行者123 更新时间:2023-12-04 07:30:44 26 4
gpt4 key购买 nike

请让我知道我们如何通过以下场景实现这一目标
我有一个带列的表
表A

EmpId   Name  Contact
---------------------
100 AA xxxxx
101 BB yyyyy
102 rr zzzzz
103 jj 1234
104 GG 6789
表B
Id EmpId  Product
------------------
1 100 Sample1
2 100 Sample2
3 101 Sample1
4 103 Sample4
我需要从 TableA 中获取表 B 中存在的列数(不同的),而表 B 中不存在与 EmpId 匹配的列数柱子
我尝试了以下方法
SELECT count(*) 
FROM Table A ta
WHERE ta.EmpId NOT IN (SELECT DISTINCT(tb.EmpId)
FROM Table B tb)
我只计算哪些行不存在。
如何编写单个查询来获取匹配和不匹配的所有行的计数?
期望的输出:
Matched NotMatched
------------------
3 2

最佳答案

使用带有聚合的左连接:

SELECT
COUNT(DISTINCT b.EmpId) AS Matched,
COUNT(CASE WHEN b.EmpId IS NULL THEN 1 END) AS NotMatched
FROM TableA a
LEFT JOIN TableB b
ON b.EmpId = a.EmpId;

关于sql-server - Sql查询以获取匹配和不匹配记录的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67948814/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com