我有2个表,一个bats_req有96个记录,另一个是master,它具有24341。我需要在两个表中都匹配 EMP 列,并从bats_req表中打印出计数
从下面的查询中获取即时消息的数量不正确
select distinct man,cnt
from (
select count(*) cnt,f1.EMP man from bats_req f1
join bats f2
on f1.EMP = f2.EMP
group by f1.EMP
) emp
我有2个表,一个bats_req有96个记录,另一个是master,它具有24341。我需要在两个表中都匹配 EMP 列,并从bats_req表中打印出计数
从下面的查询中获取即时消息的数量不正确
select distinct man,cnt
from (
select count(*) cnt,f1.EMP man from bats_req f1
join bats f2
on f1.EMP = f2.EMP
group by f1.EMP
) emp
在我的头顶上方,您应该在此处进行左连接,并且还应该在连接右侧的表中计算一列:
SELECT f1.EMP man,COUNT(f2.EMP) cnt
FROM bats_req f1
LEFT JOIN bats f2
ON f1.EMP = f2.EMP
GROUP BY
f1.EMP;
我不知道您对外部子查询的意图是什么,但是EMP
应该已经与众不同,因此子查询实际上没有做任何事情。
尝试这个
SELECT COUNT(*) AS table1Count FROM table1 WHERE someCondition
JOIN??
SELECT COUNT(*) AS table2Count FROM table2 WHERE someCondition
CROSS JOIN? subqueries?
SELECT COUNT(*) AS table3Count FROM table3 WHERE someCondition
目标是返回此值:
+-------------+-------------+-------------+
| table1Count | table2Count | table3Count |
+-------------+-------------+-------------+
| 14 | 27 | 0 |
+-------------+-------------+-------------+