2010-09-20 5 views

Respuesta

7

No puede nombrar directamente el resultado de una unión. Una opción es utilizar una subconsulta:

select T.id 
from (
    select * 
    from table1 
    inner join table2 on table1.x = table2.y 
    inner join table3 on table3.z = table1.w 
) T 

Otra opción es la factorización subconsulta:

with T as (
    select * 
    from table1 
    inner join table2 on table1.x = table2.y 
    inner join table3 on table3.z = table1.w 
) 
select T.id 
from T 
8

No se puede utilizar alias para nombrar el "todo" se unen, se puede, sin embargo, poner alias en tablas individuales de la unión:

select t1.id 
from table1 t1 
    inner join table2 t2 on t1.x = t2.y 
    inner join table3 t3 on t3.z = t1.w 

En la proyección, tendrá que utilizar el alias de la tabla, que define la columna id que se va a select.

Cuestiones relacionadas