在单个语句中查询多个SQL表

时间:2012-03-04 07:53:22

标签: php mysql

我的数据库上有两个表。

一个名为房间,另一个名为 room_booking

房间和房间预订都有相同的列 room_id

我已经起草了以下SQL查询来检查具有特定日期的房间:

SELECT DISTINCT room_id FROM `room_booking` WHERE date_booked='$date'";

但现在我需要使用id列表来访问room_booking中相应房间的信息。我感兴趣的字段是名称 room_size

我怎样才能做到这一点?我需要联合SQL语句吗?

提前致谢!

3 个答案:

答案 0 :(得分:2)

是的,您需要使用JOIN语句,如下所示

    $query="SELECT DISTINCT room, room_size FROM room JOIN `room_booking` ON room.room_id=`room_booking`.room_id WHERE date_booked='$date' ";

答案 1 :(得分:2)

是。你应该Join两个表来获得结果。

尝试以下

SELECT  r.roomid,r.room, r.room_size,date_booked 
FROM room  as r left  JOIN room_booking  as rb ON r.room_id=rb.room_id 
WHERE date_booked='$date' 

答案 2 :(得分:0)

您正在编写错误的查询,您可以将其更改为

SELECT room_id FROM `room_booking` as rb,room as r WHERE date_booked='$date' and r.room_id=rb.room_id

如果您没有使用联接,当您从多个表中获取数据时,它将为您提供数据的cartison产品。