Объединение двух запросов в MySQL - PullRequest
0 голосов
/ 01 сентября 2011

Я пытаюсь объединить результаты двух запросов.Я не очень опытный в MySQL, поэтому я здесь для некоторой помощи.

Первый запрос выглядит следующим образом:

select count(roomtypeid) as bookedrooms, day 
from event_guest_hotel 
where hotelid = 1 and roomtypeid = 1 
 group by day;

Возвращает:

firstquery

Второй запрос:

SELECT ehr.reservationid, ehr.day, h.name AS hotelname, 
ehr.totalrooms as requested_rooms, r.name AS roomname
            FROM event_hotel_reservation ehr 
            INNER JOIN hotel_room_type r 
            ON ehr.roomtypeid = r.roomtypeid 
            INNER JOIN hotel h
            ON ehr.hotelid = h.hotelid  
            WHERE totalRooms != 0 
            AND reservationID = '1'

Это возвращает:

seconquery

Могу ли я объединить первый запрос со вторым, чтобы я получил результаты первого запроса в другом столбце результатов рядом с 'roomname'?Таким образом, я знаю, сколько комнат уже забронировано и сколько было запрошено по одному запросу.

1 Ответ

1 голос
/ 01 сентября 2011

Попробуйте:

SELECT ehr.reservationid, ehr.day, h.name AS hotelname, 
    ehr.totalrooms as requested_rooms, r.name AS roomname, 
    egh.bookedrooms
FROM event_hotel_reservation ehr 
INNER JOIN hotel_room_type r ON ehr.roomtypeid = r.roomtypeid 
INNER JOIN hotel h ON ehr.hotelid = h.hotelid    
left outer join (
    select hotelid, count(roomtypeid) as bookedrooms, day 
    from event_guest_hotel 
    where roomtypeid = 1 
    group by hotelid, day
) egh on h.hotelid = egh.hotelid and ehr.day = egh.day
WHERE totalRooms != 0 
    AND reservationID = '1'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...