Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como selecionar uma coluna de todas as tabelas em que ela reside?


Para obter o registro de uma tabela, você deve escrever uma consulta nessa tabela. Portanto, você não pode obter TODOS os registros das tabelas com o campo especificado sem uma consulta em cada uma dessas tabelas.

Se houver um subconjunto de colunas em que você está interessado e esse subconjunto for compartilhado entre todas as tabelas, você pode usar a operação UNION/UNION ALL assim:
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'

Ou, no caso simples, onde você só quer saber quais tabelas possuem registros sobre determinado cliente
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'

Caso contrário, você terá que consultar cada tabela separadamente.