sql >> Database >  >> RDS >> Oracle

Hoe selecteer ik een kolom uit alle tabellen waarin deze zich bevindt?

Om een ​​record uit een tabel te halen, moet u een query schrijven voor die tabel. U kunt dus niet ALLE records uit tabellen met een gespecificeerd veld halen zonder een query op elk van deze tabellen.

Als er een subset van kolommen is waarin u geïnteresseerd bent en deze subset wordt gedeeld door alle tabellen, kunt u de bewerking UNION/UNION ALL als volgt gebruiken:

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'

Of, in het eenvoudige geval dat u gewoon wilt weten welke tabellen records hebben over een bepaalde klant

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'

Anders moet u elke tabel afzonderlijk opvragen.



  1. Verwijzen naar buitenlandse sleutels in dezelfde kolom

  2. INITCAP() – Converteren naar begincaps in PostgreSQL

  3. substring uit mysql-kolom extraheren met regex

  4. Databases en instanties controleren via Activity Monitor | Problemen met SQL Server-prestaties oplossen -2