gpt4 book ai didi

mysql - SQL - 如何使用 WHERE 条件包含结果为零的行

转载 作者:行者123 更新时间:2023-11-29 04:32:38 25 4
gpt4 key购买 nike

我有一个查询,要选择在所有可用日期预订特定酒店的人数。

基本上,我有两个表:

  • dates_event 列出了我有 3 个日期的所有可用日期

  • registered_hotels 它列出了所有具有相应酒店、日期和用户 ID 的人的注册

诀窍是如果没有人预订特定日期的酒店,我想显示“0”。

这是我的查询:

SELECT dates_event.date_full, count(registered_hotels.id_registered)
FROM dates_event
LEFT JOIN registered_hotels ON dates_event.date_id = registered_hotels.date_id
WHERE registered_hotels.idhotel='1'
GROUP by dates_event.date_full

它显示这个:

+-------------+----------------------------------------+
| date_full | count(registered_hotels.id_registered) |
+-------------+----------------------------------------+
| 2019-09-15 | 1 |
| 2019-09-16 | 1 |
+-------------+----------------------------------------+

虽然我想显示这个:

+-------------+----------------------------------------+
| date_full | count(registered_hotels.id_registered) |
+-------------+----------------------------------------+
| 2019-09-15 | 1 |
| 2019-09-16 | 1 |
| 2019-09-17 | 0 |
+-------------+----------------------------------------+

我找到了实际显示零的答案,但当我有一个似乎放出所有空行的特定 WHERE 条件时什么也没有。

关于如何实现此目标的任何想法?

最佳答案

将您的 registered_hotels.idhotel='1' 放在 condition 而不是 where

SELECT dates_event.date_full, count(registered_hotels.id_registered)
FROM dates_event
LEFT JOIN registered_hotels ON dates_event.date_id = registered_hotels.date_id
and registered_hotels.idhotel='1'
GROUP by dates_event.date_full

关于mysql - SQL - 如何使用 WHERE 条件包含结果为零的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55724609/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com