繁体   English   中英

MySQL 合并来自联合查询的记录

[英]MySQL Combine The Records From A Union Query

任何人都可以提供帮助。 我有 2 个表,发给员工的物品和员工退回的物品。 我编写了以下联合查询,正如预期的那样,每个结果我得到 2 行

select count(itemcode) as issued, 0 as returned, issue.employee, issue.itemcode 
from issue 
group by itemcode, employee
Union
select 0 as issued, count(itemcode) as returned, return.employee, return.itemcode 
from return 
group by itemcode, employee

结果是:

issued          returned       employee           itemcode
1               0              12345              abcd
0               1              12345              abcd
2               0              00001              abcd
0               3              00002              abcd

我能做些什么来组合这 2 条记录,记住并不总是有相应的发出和返回的记录。 我要求的结果是:

issued          returned       employee           itemcode
1               1              12345              abcd
2               0              00001              abcd
0               3              00002              abcd

任何帮助,将不胜感激。

谢谢史蒂夫

SELECT SUM(issued) issued,
       SUM(returned) returned,
       employee,
       itemcode
FROM ( select count(itemcode) as issued, 0 as returned, issue.employee, issue.itemcode 
       from issue 
       group by itemcode, employee
     Union
       select 0 as issued, count(itemcode) as returned, return.employee, return.itemcode 
       from return 
       group by itemcode, employee
     ) xxx
GROUP BY itemcode, employee

?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM