首页 > 解决方案 > 使用count sql在不同的表上显示列

问题描述

我有 2 张桌子。

tbl_don
- id_donatur
- id_program
- ...

tbldonasi
- id_donatur
- id_program
- ...

我想显示这些表中的以下数据。

| id_program | id_donatur |
---------------------------
| 1          | 2          |
| 2          | 3          |

其中id_donatur列从表 1 和表 2 中计算

我已经运行了这个查询

select A.id_donatur, A.id_program from tbl_don A UNION all select B.id_donatur, B.id_program from tbldonasi B

但我很困惑如何完成这个查询。

标签: mysql

解决方案


您必须在联合上使用group by子句。类似于以下内容:

select U.id_program, count(U.id_donatur) 
from 
   (select A.id_donatur, A.id_program 
    from tbl_don A 
    UNION all 
    select B.id_donatur, B.id_program 
    from tbldonasi B) AS U 
GROUP BY U.id_program

推荐阅读