我正在尝试连接两个选择查询,其中第一个查询中的列用作第二个查询中的值。这是查询的样子 -
SELECT q1.a, q1.b, q2.a, q2.b FROM
(SELECT
func(sysdate, someDate) as a,
col2 as b,
rownum AS r
FROM DUAL) q1
INNER JOIN
(SELECT
func(q1.a, someDate) as a,
col4 as b,
rownum AS r
FROM DUAL) q2
USING (r)
正如您所看到的,问题是func(q1.a, someDate)
。它是一个从'q1'(也是一个日期)获取列'a'的值的函数。
具有相同查询的数据类似于
80.05 2015-11-16 17:26:00 80.05 2015-11-16 17:26:00 1
注意:Col2和Col4也是col4引用col2值的函数。我只是不想在这里打字,因为那会让人感到困惑。此查询最多可链接8个选项。
答案 0 :(得分:1)
以下查询的内容似乎就是你所追求的:
WITH q1 AS
( SELECT func(sysdate, someDate) as a,
col2 as b,
rownum AS r
FROM DUAL
)
SELECT q1.a,
q1.b,
func(q1.a, someDate) as a,
col4 as b
FROM q1