Eine mögliche Lösung wäre, zuerst eine Abfrage für jede Art von Reservierung zu erstellen (die Sie möglicherweise bereits haben) und dort den cust_type hinzuzufügen und dann die beiden zu vereinen. Die anfänglichen Abfragen würden also etwa so lauten:
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;
company_reservations:
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;
Dann könnten Sie die beiden Abfragen wie unten zusammenführen.
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;
Denken Sie natürlich daran, entweder {andere Felder} zu entfernen oder hinzuzufügen, was Sie sonst noch brauchen.