sql >> Base de Datos >  >> RDS >> Oracle

¿Cómo seleccionar una columna de todas las tablas en las que reside?

Para obtener un registro de una tabla, debe escribir una consulta en esa tabla. Por lo tanto, no puede obtener TODOS los registros de las tablas con un campo específico sin una consulta en cada una de estas tablas.

Si hay un subconjunto de columnas que le interesa y este subconjunto se comparte entre todas las tablas, puede usar la operación UNION/UNION ALL como esta:

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'

O, en un caso simple en el que solo desea saber qué tablas tienen registros sobre un cliente en particular

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'

De lo contrario, debe consultar cada tabla por separado.