gpt4 book ai didi

php - 从三个表中选择

转载 作者:太空宇宙 更新时间:2023-11-03 10:48:49 25 4
gpt4 key购买 nike

我有三个表,其中 table_2table_1table_3 的中间(连接)

表格

table_id
...
...

table 休息

rest_id
table_id
...

休息

rest_id
...
...

以及我使用的选择查询

SELECT m.table_id, table_name
FROM tables m
JOIN table_rest mr
ON m.table_id = mr.table_id
WHERE rest_id = '$rest_id'

我现在需要的是在这个查询中加入另一个表 reserv

id
...
status

检查状态是否为 012 如果没有状态则不显示任何内容,这意味着没有记录给我看。换句话说,这是我在屏幕上显示几张 table 的保留系统。如果状态为 0、1、2,则表示该表已被占用。如果没有找到状态,这意味着没有表的记录,可以向用户显示。

编辑:示例场景

表格

table_id
1
2
3
4
5

休息

rest_id
1
2

table_rest

table_id | rest_id
1 2
2 2
3 2
4 2
5 2

所以上面的查询将为 rest_id=2 生成 5 个表,而 rest_id=1 则没有所以现在我有另一张 table

预订

id | status
1 0
2 1
3 2

所以在这个表 reserv 当前保存了 3 个表。我的想法是向我展示另外两个 whit id=4id=5 因为它们不在表 reserv 中并且没有任何状态。

希望现在更清晰了。

最佳答案

你必须从 table reserv 指向被预订的表,我们称之为 reserv.table_id

SELECT m.table_id, table_name
FROM tables m
JOIN table_rest mr
ON m.table_id = mr.table_id
left join reserv
on reserv.table_id = m.id
WHERE rest_id = '$rest_id'
and reserv.status is null (*note)

*note 根据您的需要使用'is'或'is not',据我所知,首先似乎您想要!=,后来您想要的是=

关于php - 从三个表中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27398083/

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