Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak wybrać kolumnę ze wszystkich tabel, w których się znajduje?

Aby pobrać rekord z tabeli, musisz napisać zapytanie do tej tabeli. Tak więc nie można uzyskać WSZYSTKICH rekordów z tabel z określonym polem bez zapytania o każdą z tych tabel.

Jeśli istnieje podzbiór kolumn, który Cię interesuje i ten podzbiór jest współdzielony przez wszystkie tabele, możesz użyć operacji UNION/UNION ALL w następujący sposób:

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'

Lub w prostym przypadku, gdy chcesz tylko wiedzieć, które tabele zawierają rekordy dotyczące konkretnego klienta

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'

W przeciwnym razie musisz odpytywać każdą tabelę osobno.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak mogę wykonać SELECT DISTINCT na wszystkich polach z wyjątkiem BLOB?

  2. Jaka jest różnica między „nie w” a „nie istnieje”?

  3. Jak sprawić, by nazwy tabel Oracle nie uwzględniały wielkości liter?

  4. Jak wybrać rekordy pogrupowane według godziny dnia, w tym godzin, które nie mają rekordów?

  5. Wydajność dynamicznego SQL a procedury składowane w Oracle