utilizar resultado select como nombre de tabla

Roberto
10 de Mayo del 2005
Hola a todos. Lo que quiero hacer es utilizar el resultado de una select como nombre de una tabla en otra select. Todo esto en una misma consulta, anidada. Como yo lo he pensado no parece ser posible así que si alguien sabe cómo hacerlo se lo agradeceré muchísimo. Un ejemplo de lo que quiero hacer es:
select tabla.*
from (
select cons.TABLE_NAME
from
ALL_CONSTRAINTS cons1, ALL_CONSTRAINTS cons2
where
cons1.TABLE_NAME = 'TIPOS'
and cons1.CONSTRAINT_TYPE = 'R'
and cons2.CONSTRAINT_TYPE = 'P'
and cons2.CONSTRAINT_NAME = cons1.R_CONSTRAINT_NAME
) tabla

Muchas gracias. Un saludo.

trazom
10 de Mayo del 2005
La consulta que hiciste falla porque el alias \'cons\' no existe. Debe ser \'cons1\' o \'cons2\'.
Si no interpreto mal lo que quieres hacer, otra forma es:

select col.table_name detail,col.column_name col_detail, p.table_name master,cp.column_name col_masterfrom user_cons_columns col,
user_constraints c, user_constraints p, user_cons_columns cp
where c.constraint_type=\'R\' and
p.constraint_type in (\'U\',\'P\') and
c.constraint_name=col.constraint_name and
c.table_name=\'TIPOS\' and
c.r_owner=p.owner and
c.r_constraint_name=p.constraint_name and
p.constraint_name=cp.constraint_name and
col.position=cp.position

Saludos.

Isa? Islas
10 de Mayo del 2005
Roberto

¿Para que utilizar la salida de un SUB-SELECT como nombre de tabla?

No le veo sentido.