我有一些像这样的表结构。返回查询结果如果条件
表property_day
propday_id | date | property_id | check_in | check_out
------------------------------------------------------
1 | 2017-03-26 | 5 | 0 | 0
2 | 2017-03-27 | 5 | 0 | 0
3 | 2017-03-28 | 5 | 0 | 0
4 | 2017-03-29 | 5 | 0 | 0
表rooms
room_id | name | property_id
----------------------------
1 | Deluxe | 5
2 | Superior | 5
3 | Executive | 5
我想告诉所有的房间有,如果内部查询条件。我显示与日期检查和日期退房的房间。
在表列property_day
CHECK_IN和CHECK_OUT用于指示客人不能检查在该日期或不能检查出在该日期或无法签入和签出在那个日期。价值表示客人可以入住或退房,但价值表示客人无法办理入住或退房手续。
这是如果条件:
- 如果我检查在2017年3月27日和
check_in
列检查出2017年3月28日和价值,check_out
是在该日期我想要显示property_id
的所有房间。 - 如果我在2017-03-27检查并检查了2017-03-28和价值列
check_in
在2017-03-27是,我不想显示所有房间。 - 如果我在2017-03-27检查并在2017-03-28上查看,并在2017-03-28列
check_out
的值为,我也不想显示所有房间。 - 如果我在2017-03-27检查并检查了2017-03-29,并在2017-03-28列
check_in
和check_out
的值为,我想显示所有房间。 - 如果我在2017-03-27登记入住并在2017-03-29结账并在2017年3月28日的价格列
check_in
和check_out
是,我也想显示所有房间。
这是条件数1表结构:
propday_id | date | property_id | check_in | check_out
------------------------------------------------------
1 | 2017-03-26 | 5 | 0 | 0
2 | 2017-03-27 | 5 | 0 | 0
3 | 2017-03-28 | 5 | 0 | 0
4 | 2017-03-29 | 5 | 0 | 0
这是条件数2表结构:
propday_id | date | property_id | check_in | check_out
------------------------------------------------------
1 | 2017-03-26 | 5 | 0 | 0
2 | 2017-03-27 | 5 | 1 | 0
3 | 2017-03-28 | 5 | 0 | 0
4 | 2017-03-29 | 5 | 0 | 0
这是条件数3表结构:
propday_id | date | property_id | check_in | check_out
------------------------------------------------------
1 | 2017-03-26 | 5 | 0 | 0
2 | 2017-03-27 | 5 | 0 | 0
3 | 2017-03-28 | 5 | 0 | 1
4 | 2017-03-29 | 5 | 0 | 0
这是表结构对于条件数4:
propday_id | date | property_id | check_in | check_out
------------------------------------------------------
1 | 2017-03-26 | 5 | 0 | 0
2 | 2017-03-27 | 5 | 0 | 0
3 | 2017-03-28 | 5 | 1 | 1
4 | 2017-03-29 | 5 | 0 | 0
这是条件数5表结构:
propday_id | date | property_id | check_in | check_out
------------------------------------------------------
1 | 2017-03-26 | 5 | 0 | 0
2 | 2017-03-27 | 5 | 0 | 0
3 | 2017-03-28 | 5 | 0 | 0
4 | 2017-03-29 | 5 | 0 | 0
这是我已经尝试,但没有给出结果,我想要的查询。
SELECT p.*, r.*
FROM property_day p
JOIN rooms r on p.property_id = r.property_id
WHERE p.property_id = 5 AND p.check_in = 0 OR p.check_out = 0
这是简单的查询,因为我不知道如果条件,使一些查询。
请任何人都帮我做到这一点。谢谢。
请向我们展示查询所需的输出。 –
我只想在这个条件下显示房间的房间名称。 @TimBiegeleisen – Antonio
'选择P档。*,R * FROM property_day p JOIN室R ON p.property_id = r.property_id WHERE p.check_in = 0或p.check_out = 0' –