Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Tabelas de mesclagem de banco de dados


Uma solução possível seria primeiro criar uma consulta para cada tipo de reserva (que você já pode ter) e adicionar o cust_type lá, depois unir os dois. Assim, as consultas iniciais seriam algo como:

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;

empresa_reservas:
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;

Então você pode unir as duas consultas, algo como abaixo.
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;

Claro, lembre-se de remover {outros campos} ou adicionar o que mais você precisar.