在Oracle SQL中为子查询分配多个别名

时间:2018-01-05 08:19:54

标签: sql oracle oracle11g

我有一个子查询,我需要自己加入它。 它看起来像这样:

SELECT 
    * 
FROM 
    ( ..-the same sub query-.. ) SQ1,
    ( ..-the same sub query-.. ) SQ2,
    ( ..-the same sub query-.. ) SQ3
WHERE
    ..-some joins between SQ1, SQ2, SQ3-..

无论如何都要解决多次不写同一个查询的问题。 (原始查询太长,无法发布,但基本上我需要这样做)

提前致谢。

1 个答案:

答案 0 :(得分:4)

尝试WITH factoring子句,例如

with sq as
  (select ... from ... where)
select *
from sq sq1,
     sq sq2,
     sq sq3
where sq1.id = sq2.id
  and ...