2009-04-14 5 views
0

J'ai une très grande requête qui suit le format ci-dessous:Reportez-vous à d'autres instructions SQL SELECT Lissé comme tables dans la clause FROM

select ... 
    from (select field1, 
       field2 
      from some_table) table1, 
     (select field1, 
       field3 
      from other_table) table2 

where ..... 

Est-il possible pour moi de se référer à l'une des tables « définies » dans la clause from, disons table1, dans l'une des autres définitions de tables de la clause from?

Par exemple:

select .... 
    from (select field1, 
       field2 
      from some_table) table1, 
     (select table1.field1, 
       field3 
      from other_table, 
       table1) table2 

where ..... 

Avertissement: Ce que je suis en train de faire est pas aussi simple que l'exemple ci-dessus. L'exemple est simplement pour illustrer l'idée.

+0

Ce n'est pas vraiment une réponse à votre question, mais certains des problèmes auxquels votre question se rapporte peuvent être résolus en utilisant des vues. – Brian

Répondre

4
WITH 
table1 AS 
     (
     SELECT field1, field2 
     FROM some_table 
     ), 
table2 AS 
     (
     SELECT field1, field2 
     FROM other_table, table1 
     ) 
SELECT * 
FROM table2 
0

Si vous utilisez SQL 2005, vous pouvez utiliser des expressions de table communes pour effectuer ce que vous essayez; Quassnoi nous donne un exemple, dans Oracle je ne sais pas comment y parvenir bien

+0

Dans Oracle, l'alias va juste avant la requête. – Quassnoi

Questions connexes