2010-09-20 7 views

Antwort

7

Sie können das Ergebnis eines Joins nicht direkt benennen. Eine Möglichkeit ist, eine Unterabfrage zu verwenden:

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

Eine weitere Option ist Unterabfrage Factoring:

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

Sie können keine Aliase verwenden, um Namen für die „ganze“ verbinden, können Sie jedoch setzen Aliase auf einzelne Tabellen der Verbindung:

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

In der Projektion, müssen Sie den Alias ​​der Tabelle verwenden, die die id Spalte definiert Sie select werden.

Verwandte Themen