我的数据库上有两个表。
一个名为房间,另一个名为 room_booking 。
房间和房间预订都有相同的列 room_id 。
我已经起草了以下SQL查询来检查具有特定日期的房间:
SELECT DISTINCT room_id FROM `room_booking` WHERE date_booked='$date'";
但现在我需要使用id列表来访问room_booking中相应房间的信息。我感兴趣的字段是名称和 room_size 。
我怎样才能做到这一点?我需要联合SQL语句吗?
提前致谢!
答案 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产品。