Jednym z możliwych rozwiązań byłoby najpierw utworzenie zapytania dla każdego typu rezerwacji (które możesz już mieć) i dodanie tam cust_type, a następnie połączenie tych dwóch. Więc początkowe zapytania będą wyglądały mniej więcej tak:
guest_reservations:
SELECT reservation.r_id, guest.name, "guest" AS cust_type, {other fields}
FROM guest, reservation INNER JOIN guest ON guest.g_id = reservation.g_id;
firma_rezerwacje:
SELECT reservation.r_id, company.name, "company" AS cust_type {other fields}
FROM company, reservation INNER JOIN company ON company.c_id = reservation.c_id;
Następnie możesz połączyć te dwa zapytania, jak poniżej.
SELECT reservation.r_id, guest.name, "guest" AS cust_type, {other fields}
FROM guest, reservation INNER JOIN guest ON guest.g_id = reservation.g_id
UNION SELECT reservation.r_id, company.name, "company" AS cust_type {other fields}
FROM company, reservation INNER JOIN company ON company.c_id = reservation.c_id;
Oczywiście pamiętaj, aby usunąć {inne pola} lub dodać wszystko, czego potrzebujesz.