【发布时间】:2013-06-04 17:31:05
【问题描述】:
您好,我想从共享相同列名的两个表中获取数据。我的表结构是
表病人
---------------------------------------
| id | affiliate_id | somecolumn |
---------------------------------------
| 1 | 8 | abc |
---------------------------------------
| 2 | 8 | abc |
---------------------------------------
| 3 | 9 | abc |
---------------------------------------
表导
---------------------------------------
| id | affiliate_id | someothern |
---------------------------------------
| 1 | 8 | xyz |
---------------------------------------
| 2 | 8 | xyz |
---------------------------------------
| 3 | 3 | xyz |
---------------------------------------
现在我的要求是在一个查询中从两个表中获取COUNT(ID)。我想要像
----------------------------------------------------
| affiliate_id | total_patients | total_leads |
----------------------------------------------------
| 8 | 2 | 2 |
----------------------------------------------------
| 9 | 1 | 0 |
----------------------------------------------------
| 3 | 0 | 1 |
----------------------------------------------------
我写了以下查询
SELECT `p`.`affiliate_id`, COUNT(p.id) AS `total_patients`,
COUNT(cpl.id) AS `total_leads`
FROM `patients` AS `p`
INNER JOIN `leads` AS `cpl` ON p.affiliate_id =cpl.affiliate_id
GROUP BY `p`.`affiliate_id`
但我没有得到结果。此查询结果仅给出一个具有相同数量的 total_patients 和 total_leads 的会员
【问题讨论】:
-
你真正想要的是一个完整的外连接,MySQL 不支持它......
标签: mysql join inner-join