sql >> Databáze >  >> RDS >> Mysql

Slučovací tabulky databáze

Jedním z možných řešení by bylo nejprve vytvořit dotaz pro každý typ rezervace (který již možná máte) a přidat tam cust_type a poté tyto dva sjednotit. Takže počáteční dotazy by byly něco jako:

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;

firemní_rezervace:

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;

Pak byste mohli spojit dva dotazy dohromady, něco jako níže.

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;

Samozřejmě nezapomeňte buď odstranit {other fields}, nebo tam přidat cokoli jiného, ​​co potřebujete.



  1. Chyba #1072 sloupec klíče neexistuje s cizím klíčem MySQL

  2. Vrácení proměnné sql do PHP

  3. Aktualizujte sekvenci na řádku INSERT

  4. Jak extrahovat podřetězec z řetězce v Oracle/SQLite