gpt4 book ai didi

mysql - 将 LEFT JOIN 与 GROUP BY 组合,同时还包括 NULL

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

我在使用 LEFT JOIN 和 GROUP BY 组合具有一对多映射的表时遇到问题。

我有一个带有唯一 ID 的下表(在说明性示例中,这是 house_number)

房屋:

|house_number| bedrooms|
|0 | 4 |
|1 | 3 |
|2 | 1 |

我想使用唯一 ID 与第二个表进行 LEFT JOIN,其中第二个表可能有也可能没有每个唯一 ID 的多个条目。例如,

居住者:

| house_number | occupant_id | type    |
| 0 | 3 | 19 |
| 0 | 1 | 20 |
| 0 | 2 | 21 |
| 2 | 7 | 20 |

现在我想要实现的是每个门牌号只有一个条目,但在 LEFT JOIN 中优先考虑类型为 20 的居住者,同时保留那些没有列出任何居住者的房屋,例如,

|house_number| bedrooms| occupant_id | type    |
|0 | 4 | 1 | 20 |
|1 | 3 | null | null |
|2 | 1 | 7 | 20 |

我可以使用 GROUP BY 实现每个房屋只有一个条目,但是,我需要确保随它返回的占用行(如果存在)具有 type = 20

如果我只是使用 WHERE (type = 20),那么我不会得到 house_number = 1 的返回条目。

我将如何进入决赛 table ?

最佳答案

尝试 WHERE (type = 20 OR type is null) 条件怎么样?

关于mysql - 将 LEFT JOIN 与 GROUP BY 组合,同时还包括 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11031643/

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