如何在IF条件下联接5个表

霍纳斯·巴加勒(Homnath Bagale)

我想通过book_id加入5个表。我试过了:

 SELECT booked_room_info . * , booking_info . * , hotel_info.name as
 hotelname,hotel_info.address as hoteladdress,hotel_info.contact as
 hotelcontact , personal_info . *,room_registration.room_name as
 roomname,room_registration.price as roomprice,room_registration.price as
 roomprice,room_registration.description as
 roomdescription,room_registration.image as roomimage
    FROM booked_room_info
    JOIN booking_info ON booking_info.booking_id = booked_room_info.booking_id
    JOIN hotel_info ON hotel_info.id = booking_info.hotel_id
    JOIN personal_info ON personal_info.booking_id = booked_room_info.booking_id
    JOIN room_registration ON room_registration.hotel_id = booking_info.hotel_id
    WHERE booked_room_info.booking_id= 1

但是,如果我在booking_id = 1上有2个预订,但它获取了10个结果。我想我应该做一个if条件。如果(booked.room_type && book_info.hotel_id)相同,则只能从room_registration中获取行,但是如何完成它。

booked_room_info
------
id | booking_id | room_type | check_in | check_out
1  |  1         | delux     | 2015/1/2 | 2015/1/5
booking_info
---------
id | booking_id | hotel_id | user_id 
 1 |  1         |  2       |  1 

hotel_info
----------
id |   name    | address | user_id
 2 |palm hotel | newyork | 1

personal_info 
-------------
id  |full_name    | address | nationality | booking_id
 1  | sushil stha | new york | smth       |  1

room_registration
-----------------
id | room_name | price | image   | hotel_id  | user_id
 1 |  delux    | 1000  |room.jpg |  2        |  1
特鲁谢克

您上一次加入时发生错误:

JOIN room_registration ON room_registration.hotel_id = booking_info.hotel_id

您正在使用hotel_id联接这些表room_registration表格中可能有5行带有hotel_id=2因此,加入后您会收到2*5=10行,而不是预期的2。

因此,您应该以不同的方式加入该表。
如果要用room_registration表格中的每一行连接每一行,则必须指定更精确的连接条件。

为了room_registration正确地连接表,您可以room_registration_idbooking_info表中添加然后,您可以使用以下方法加入:

JOIN room_registration ON room_registration.id = booking_info.room_registration_id

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在IF条件下联接5个表

来自分类Dev

如何在多个条件下联接表

来自分类Dev

在2个条件下联接两个表

来自分类Dev

在特定条件下联接表

来自分类Dev

在一个条件下联接到表并返回该条件下的数据

来自分类Dev

在子查询条件下联接两个表的问题

来自分类Dev

Linq查询以在多个条件下联接表C#

来自分类Dev

SQL在分支条件下联接表

来自分类Dev

SQL如何在以下情况下联接两个表以获取记录?

来自分类Dev

MySQL如何在没有公用键的情况下联接3个表

来自分类Dev

如何在SQL中列不匹配的情况下联接两个表

来自分类Dev

如何在没有多个列表的情况下联接3个表?

来自分类Dev

如何在可能不会发生的情况下联接两个表?

来自分类Dev

使用LINQ在多个条件下联接表,始终显示主键的所有结果并合并空值

来自分类Dev

如何在没有公共密钥的情况下联接2个表并随机生成第二个表的行

来自分类Dev

如何在两个条件下为同一列选择使用联接

来自分类Dev

如何在SQL中的某些条件下使用外键链接两个表?

来自分类Dev

如何在条件表上联接

来自分类Dev

如何在Update语句的条件下使用表变量

来自分类Dev

MySQL在非唯一列上并在带有时间戳条件的情况下联接2个表

来自分类Dev

如何在BigQuery中的两个表上进行条件联接?

来自分类Dev

如何在MySQL中联接表,根据某些条件得出一个布尔结果?

来自分类Dev

如何在两个条件下使用

来自分类Dev

Shell:如何在for条件下使用2个变量

来自分类Dev

Excel如何在2个条件下对与错

来自分类Dev

如何在两个条件下执行 RealmQuery

来自分类Dev

如何在给定文本条件下使用VBA对一个表进行排序?

来自分类Dev

在Oracle中没有相同键的情况下联接两个表

来自分类Dev

在没有通用ID的情况下联接三个表#MySQL

Related 相关文章

  1. 1

    如何在IF条件下联接5个表

  2. 2

    如何在多个条件下联接表

  3. 3

    在2个条件下联接两个表

  4. 4

    在特定条件下联接表

  5. 5

    在一个条件下联接到表并返回该条件下的数据

  6. 6

    在子查询条件下联接两个表的问题

  7. 7

    Linq查询以在多个条件下联接表C#

  8. 8

    SQL在分支条件下联接表

  9. 9

    SQL如何在以下情况下联接两个表以获取记录?

  10. 10

    MySQL如何在没有公用键的情况下联接3个表

  11. 11

    如何在SQL中列不匹配的情况下联接两个表

  12. 12

    如何在没有多个列表的情况下联接3个表?

  13. 13

    如何在可能不会发生的情况下联接两个表?

  14. 14

    使用LINQ在多个条件下联接表,始终显示主键的所有结果并合并空值

  15. 15

    如何在没有公共密钥的情况下联接2个表并随机生成第二个表的行

  16. 16

    如何在两个条件下为同一列选择使用联接

  17. 17

    如何在SQL中的某些条件下使用外键链接两个表?

  18. 18

    如何在条件表上联接

  19. 19

    如何在Update语句的条件下使用表变量

  20. 20

    MySQL在非唯一列上并在带有时间戳条件的情况下联接2个表

  21. 21

    如何在BigQuery中的两个表上进行条件联接?

  22. 22

    如何在MySQL中联接表,根据某些条件得出一个布尔结果?

  23. 23

    如何在两个条件下使用

  24. 24

    Shell:如何在for条件下使用2个变量

  25. 25

    Excel如何在2个条件下对与错

  26. 26

    如何在两个条件下执行 RealmQuery

  27. 27

    如何在给定文本条件下使用VBA对一个表进行排序?

  28. 28

    在Oracle中没有相同键的情况下联接两个表

  29. 29

    在没有通用ID的情况下联接三个表#MySQL

热门标签

归档