sql >> Databáze >  >> RDS >> Oracle

Jak vybrat sloupec ze všech tabulek, ve kterých se nachází?

Chcete-li získat záznam z tabulky, musíte napsat dotaz proti této tabulce. Nemůžete tedy získat VŠECHNY záznamy z tabulek se zadaným polem bez dotazu na každou z těchto tabulek.

Pokud existuje podmnožina sloupců, která vás zajímá, a tato podmnožina je sdílena mezi všemi tabulkami, můžete použít operaci UNION/UNION ALL takto:

select * from (
select customer_number, phone, address from table1
union all
select customer_number, phone, address from table2
union all
select customer_number, phone, address from table3
)
where customer_number = 'my number'

Nebo v jednoduchém případě, kdy jen chcete vědět, jaké tabulky mají záznamy o konkrétním klientovi

select * from (
select 'table1' src_tbl, customer_number from table1
union all
select 'table2', customer_number from table2
union all
select 'table3', customer_number from table3
)
where customer_number = 'my number'

V opačném případě budete muset dotazovat každou tabulku samostatně.



  1. Nezachycená výjimka 'PDOException' se zprávou 'Neexistuje žádná aktivní transakce'?

  2. Jak vytvořit databázový diagram v Accessu

  3. existuje nějaký způsob, jak zaznamenat všechny neúspěšné příkazy SQL v oracle 10g

  4. Co je nového v MariaDB Cluster 10.4