mysql 查询显示查询中为空

标签 mysql database outer-join

我如何查询,就像我想要这个输出一样,比如我按我的 tbl_clinics.clinic_name 将其分组。现在我的查询发生了什么?为什么会这样,它没有显示我的零值,就像我想要这样的输出:

clinic name | total_check
 Clinic 1   |    4
 Clinic 2   |    0
 Clinic 3   |    0
 Clinic 4   |    0

这是我的查询:

SELECT
tbl_clinics.clinic_name,
COALESCE(COUNT(tbl_check_up.check_up_id),0) AS total_check
FROM
tbl_clinics
LEFT OUTER JOIN tbl_check_up ON tbl_clinics.clinic_id = tbl_check_up.clinic_id
WHERE tbl_clinics.user_id = "102" AND MONTH(tbl_check_up.check_up_date) = "02"  
GROUP BY tbl_clinics.clinic_name

我所得到的只是这些:

   clinic_name   |   total_check
    Clinic 1     |      4

为什么它没有显示我的其他诊所? ..我该如何操纵这些? 。请帮助我从我想要的输出中获得正确的输出,并向我解释为什么我的输出从我想要的输出中表现不佳。

最佳答案

WHERE 子句将确定将输出哪些行。如果您希望输出表“tbl_clinics”中的所有记录,请尝试以下操作:

SELECT tbl_clinics.clinic_name,
       Count(tbl_check_up.check_up_id) AS total_check
FROM   tbl_clinics
       LEFT JOIN tbl_check_up
              ON tbl_clinics.clinic_id = tbl_check_up.clinic_id
                 AND tbl_clinics.user_id = "102"
                 AND Month(tbl_check_up.check_up_date) = "02"
GROUP  BY tbl_clinics.clinic_name 

另外,我认为 COUNT() 上的 COALESCE() 是不必要的,因为当没有遇到行时,COUNT() 将始终返回 0,而不是 NULL。

关于mysql 查询显示查询中为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43444905/

相关文章:

mysql - 我如何加入这些查询?

php - 将字符串从应用程序发送到服务器

MySQL TRIGGER 带有由 IN 确定的 IF 语句

sql - 在 Codeigniter & Dwoo 中显示来自同名 MySQL 数据库字段的多个值

database - 有没有人使用地址行 2

sql - 一般的 PostgreSQL 或 SQL : LEFT OUTER JOIN and WHERE condition behave unexpectedly (for me? )

php - 使用file_exists并更新mysql行

php - 将一个应用程序连接到另一个应用程序的数据库时出错

mysql - 如何从 2 个表中选择行,其中每个表中的 1 列可以通过共同目的合并?

mysql - mysql根据另外两个表中的值将数据插入表中