gpt4 book ai didi

php - SQL嵌套选择固定

转载 作者:行者123 更新时间:2023-12-01 00:40:14 25 4
gpt4 key购买 nike

我有两个表,小时和天,小时存储专业人员一天中可用的时间。天,存储预留时间,

餐 table 时间

id  | begin   | end    | profesional 
1 | 09:00 | 10:00 | 1
2 | 10:00 | 11:00 | 1
3 | 11:00 | 12:00 | 1
4 | 13:00 | 14:00 | 1
5 | 14:00 | 15:00 | 1
6 | 09:30 | 10:30 | 2
7 | 13:00 | 14:30 | 2
8 | 14:30 | 15:30 | 2

table 天数

id  | hour_id | day
1 | 1 |20151201
2 | 3 |20151201
3 | 6 |20151201
4 | 2 |20151205
5 | 7 |20151205
6 | 8 |20151205

我尝试了以下查询,但没有成功。

SELECT *, (SELECT day from days where hours.id = days.hours_id and day = '20151201') as 'day' 
FROM hours
where profesional = 1

因此,我希望获得专业的所有结果和匹配的日期,如下所示

表格结果

id  | begin | end    | profesional | day
1 | 09:00 | 10:00 | 1 |20151201
2 | 10:00 | 11:00 | 1 |NULL
3 | 11:00 | 12:00 | 1 |20151201
4 | 13:00 | 14:00 | 1 |NULL
5 | 14:00 | 15:00 | 1 |NULL

最佳答案

使用LEFT JOIN获取第一个表中的所有行,并在没有匹配行时返回第二个表中的列的NULL

SELECT h.*, d.day
FROM hours AS h
LEFT JOIN days AS d ON h.id = d.hours_id AND d.day = '20151201'
WHERE h.profesional = 1

关于php - SQL嵌套选择固定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34502134/

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