Mysql
 sql >> Base de données >  >> RDS >> Mysql

Tables de fusion de base de données

Une solution possible serait de créer d'abord une requête pour chaque type de réservation (que vous pourriez déjà avoir) et d'y ajouter le cust_type, puis d'unir les deux ensemble. Ainsi, les requêtes initiales ressembleraient à :

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;

Ensuite, vous pouvez fusionner les deux requêtes, quelque chose comme ci-dessous.

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;

Bien sûr, n'oubliez pas de supprimer {autres champs} ou d'y ajouter tout ce dont vous avez besoin.