Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Datenbankzusammenführungstabellen

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.