gpt4 book ai didi

mysql - 如果小于表 B 列 col1 比较表 A,则从表 B 中选择行

转载 作者:行者123 更新时间:2023-11-29 06:26:07 25 4
gpt4 key购买 nike

表A

UHID    SlotID       Date
111 1 2019-12-22
222 1 2019-12-22
333 3 2019-12-22
444 1 2019-12-22
555 2 2019-11-25
666 3 2019-12-22

表B(插槽)

ID  Slot         Max slot
1 Morning 3
2 Noon 5
3 Evening 2
4 Night 5

现在我想从表 B 中获取日期 2019-12-22 且小于 Max 的可用槽位

结果看起来像表B(插槽)

ID  Slot         Max slot
2 Noon 5
4 Night 5

谢谢

最佳答案

您需要在此处进行 LEFT JOIN 并按表 B 行进行 GROUP BY。然后 COUNT 条件转到 HAVING 子句。

select b.*
from table_b b
left join table_a a
on a.SlotID = b.ID
and a.Date = '2019-12-22'
group by b.ID
having count(a.SlotID) < b.Max_slot

结果:

| ID  | Slot  | Max_slot |
| --- | ----- | -------- |
| 2 | Noon | 5 |
| 4 | Night | 5 |

View on DB Fiddle

注意:根据您的服务器版本、设置和键,您可能需要在 GROUP BY 子句中包含表 B 中的所有列。

group by b.ID, b.Slot, b.Max_slot

您可以在 docs 中找到更多信息.

关于mysql - 如果小于表 B 列 col1 比较表 A,则从表 B 中选择行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59442921/

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