gpt4 book ai didi

php - 带if条件返回查询结果

转载 作者:行者123 更新时间:2023-11-30 22:05:25 25 4
gpt4 key购买 nike

我有一些这样的表结构。

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

table 房间

room_id | name      | property_id
----------------------------
1 | Deluxe | 5
2 | Superior | 5
3 | Executive | 5

我想在查询中显示带有 if 条件的所有房间。我向那个房间展示了入住日期和退房日期。

在表 property_day 列中,check_incheck_out 用于指示客人无法在该日期入住或无法在该日期退房或无法在该日期入住和退房。值0表示客人可以入住或退房,但值1表示客人不能入住或退房。

这是 if 条件:

  1. 如果我在 2017-03-27 入住并在 2017-03-28 退房,check_incheck_out 列中的值为 0 在那一天,我想显示 property_id 5 中的所有房间。
  2. 如果我在 2017-03-27 签到并在 2017-03-28 checkout 并且在 2017-03-27 的 check_in 列中的值为 1,我不想展示所有房间。
  3. 如果我在 2017-03-27 checkin 并在 2017-03-28 checkout ,并且 2017-03-28 的 check_out 列中的值为 1 ,我也不想展示所有房间。
  4. 如果我在 2017-03-27 checkin 并在 2017-03-29 checkout ,则 check_incheck_out 列中的值在 2017-03-28 是1,我要显示所有房间。
  5. 如果我在 2017-03-27 checkin 并在 2017-03-29 checkout ,则 check_incheck_out 列中的值在 2017-03-28 是0,我也想展示所有房间。

这是条件号 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

这是一个简单的查询,因为我不知道用那个 if 条件进行一些查询。

请任何人帮助我做到这一点。谢谢。

最佳答案

请使用mysql CASE...THEN...END语句获取结果

http://www.mysqltutorial.org/mysql-case-statement/

关于php - 带if条件返回查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41929355/

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