2009-04-14 82 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