我的约会系统有一些经理(例如医生),我打算将所有约会时间显示在一个表格中,以便用用户名填写或留空约会 为时间约会创建一个表:
+-----------+-----------+
| id | time
+-----------+------------
| 1 | 10:00 |
| 2 | 10:30 |
| 3 | 11:00 |
| 4 | 11:30 |
| 5 | 12:00 |
| 6 | 12:30 |
| 7 | 13:00 |
| 8 | 13:30 |
| 9 | 14:00 |
+-----------+-----------+
经理表
+-----------+-------------+-----------+
| id | name | phone |
+-----------+-------------+-----------+
| 1 | alex | 123456 |
| 2 | dany | 123456 |
用户表:
+----+------+-------+-----------+
| id | manager_id | name | phone |
+----+------------+------+-----------+
| 1 | 1 | John | 123456 |
| 2 | 1 | Sara | 123456 |
| 3 | 2 | lorem | 123456 |
+----+------+-------+-----------+
和订单表(用于约会)
+----+------+-------+------------------+-----------+
| id | manager_id | userid | reserveid| datereserve
+----+------------+------+-------------+-----------+
| 1 | 1 | 1 | 1 |2016/12/28
| 2 | 1 | 2 | 2 |2016/12/28
| 3 | 2 | 3 | 3 |2016/12/28
+----+------+-------+-----------+-----------+------+
现在我想在一个表格中显示保留时间,其中约会用用户名填充或清空 喜欢 : Similar this photo
我加入了查询中的所有表,但无法显示相似的照片和获取数据:( 我该如何实现?
最佳答案
SELECT
m.name,
a.time,
u.phone,
u.name <- if u.name or u.phone is NULL, then appointment is free now
FROM manager as m
CROSS JOIN appointments as a
LEFT JOIN order as o ON o.manager_id = m.id AND o.appointmentsid = a.id
LEFT JOIN user as u ON u.id = o.userid
#for some doctor
WHERE m.id = DoctorID
关于php - 显示所有时间约会和保留,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34500058/