2009-04-14 95 views
0

其他SQL SELECT語句我有一個遵循以下格式非常大​​的查詢:在請參考別名爲表FROM子句

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

where ..... 

是可以讓我來指代「定義」中的一個表在from子句中,可以說在from子句中的其他表定義之一中使用table1?

例如:

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

where ..... 

免責聲明:我所試圖做的是不是上面的例子一樣簡單。這個例子只是爲了說明這個想法。

+0

這不是你的問題的答案,但你的問題涉及到的一些問題可以通過使用視圖解決。 – Brian 2009-04-14 13:01:21

回答

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

如果您使用的是SQL 2005,則可以使用Common Table Expressions來執行您正在嘗試的操作; Quassnoi給了我們一個例子,在Oracle中我不知道如何實現它雖然

+0

在Oracle中,別名只是在查詢之前。 – Quassnoi 2009-04-14 12:58:24