Mysql 当其他返回行的值为null=0时,如何显示其他查询行

Mysql 当其他返回行的值为null=0时,如何显示其他查询行,mysql,database-design,left-join,coalesce,Mysql,Database Design,Left Join,Coalesce,我有一个三个表,我用它来左外连接以查看我所有的诊所名称,包括我需要的数据的总和和计数,我有下面的表截图: 现在,我这样提问: SELECT tbl_clinics.clinic_name, COALESCE(COUNT(tbl_check_up.check_up_id),0) AS totalpatient, COALESCE(SUM(tbl_bill.bill_amt),0) AS totalearn FROM tbl_clinics LEFT OUTER JOIN tbl_check_up

我有一个三个表,我用它来左外连接以查看我所有的诊所名称,包括我需要的数据的总和和计数,我有下面的表截图:

现在,我这样提问:

SELECT
tbl_clinics.clinic_name,
COALESCE(COUNT(tbl_check_up.check_up_id),0) AS totalpatient,
COALESCE(SUM(tbl_bill.bill_amt),0) AS totalearn
FROM
tbl_clinics
LEFT OUTER JOIN tbl_check_up ON tbl_clinics.clinic_id = tbl_check_up.clinic_id
LEFT OUTER JOIN tbl_bill ON tbl_bill.bill_id = tbl_check_up.bill_id
WHERE tbl_clinics.user_id = 102
我的查询输出如下:

问题: 现在,我的问题是我想通过显示空到零值来显示我的其他诊所。在我的数据中,我有3个诊所的用户_id=102,但为什么只有诊所1显示。我想要下面这样的输出,它显示tbl_check_up中没有与账单相同的诊所Id为2和3的值

+---------------+---------------+------------+
|  Clinic Name  | Total Patient | Total Earn |
+---------------+---------------+------------+
| Clinic 1      |       4       |   800.00   |
+---------------+---------------+------------+
| Clinic 2      |       0       |   0        |
+---------------+---------------+------------+
| Clinic 3      |       0       |   0        |
+---------------+---------------+------------+
这是您的查询(
COALESCE()
对于
COUNT()
)不是必需的):


我想你只需要
分组方式

只要
分组方式
SELECT c.clinic_name,
       COUNT(cu.check_up_id) AS totalpatient,
       COALESCE(SUM(b.bill_amt), 0) AS totalearn
FROM tbl_clinics c LEFT OUTER JOIN
     tbl_check_up cu
     ON c.clinic_id = cu.clinic_id LEFT OUTER JOIN
     tbl_bill b
     ON b.bill_id = cu.bill_id
WHERE c.user_id = 102
GROUP BY c.clinic_name;