首页 > 解决方案 > Oracle SQL 创建变量并在另一个查询中使用输出

问题描述

我想根据查询的输出将特定日期分配给变量,然后在另一个查询中使用该变量。我这样做是因为使用 sql 数据透视表需要定义元素/日期才能使用。我可以把日期写进去,但我希望能自动化这个过程。另外,我不希望创建临时表或独立表来引用,我希望尽可能保持动态。可以使用 CTE 或双表吗?我见过很多例子,但我不能把它们全部联系在一起来解决这个问题。

变量:

Variable 1: SELECT Period from Period_tbl WHERE order_id in '1'  -- 1 = current month
Variable 2: SELECT Period from Period_tbl WHERE order_id in '2'  -- 2 = previous month

我想将此代码应用于:

SELECT *
From(
SELECT Period, Team, Description, dollars
from table_1)
PIVOT(
    SUM(dollars) as Period for Period in (
    to_date(variable 1, 'mm/dd/yyyy') current_mo
    ,to_date(variable 2, 'mm/dd/yyyy') prior_mo));

标签: sqloraclevariables

解决方案


推荐阅读