Amazon redshift 我们可以在红移中使用CTE(with子句)进行更新查询吗?
我想在我的红移插入/更新查询中使用变量作为基准日期,因为这个基准日期应该像往常一样是当前的\ U日期-1,但在有任何紧急事项时应该灵活修改 我可以在WITH子句中使用变量,如下所示。我只是想知道我们可以在更新查询中做同样的事情Amazon redshift 我们可以在红移中使用CTE(with子句)进行更新查询吗?,amazon-redshift,Amazon Redshift,我想在我的红移插入/更新查询中使用变量作为基准日期,因为这个基准日期应该像往常一样是当前的\ U日期-1,但在有任何紧急事项时应该灵活修改 我可以在WITH子句中使用变量,如下所示。我只是想知道我们可以在更新查询中做同样的事情 INSERT INTO SALES ( TARGET_DATE ,STORE_CODE ,PRODUCT_CODE ,SALES ) WITH Variables AS ( SELECT CURRENT_DATE-1::DATE AS VarOpsDate
INSERT INTO SALES (
TARGET_DATE
,STORE_CODE
,PRODUCT_CODE
,SALES
)
WITH Variables AS (
SELECT
CURRENT_DATE-1::DATE AS VarOpsDate
--'2021-03-01'::DATE AS VarOpsDate
),
SALES_CTE AS (
SELECT
SALES_DATE
,STORE_CODE
,PRODUCT_CODE
,SUM(CASE WHEN "CATEGORY"='01' THEN SALES ELSE 0 END) AS SALES01
,SUM(CASE WHEN "CATEGORY"<>'01' THEN SALES ELSE 0 END) AS SALES02
FROM
FACT_SALES
WHERE
SALES_DATE = (SELECT VarOpsDate FROM Variables)
GROUP BY
SALES_DATE
,STORE_CODE
,PRODUCT_CODE
)
SELECT
(SELECT VarOpsDate FROM Variables)
,ST.STORE_CODE
,ST.PRODUCT_CODE
,SALES_CTE.SALES01
,SALES_CTE.SALES02
FROM
STORE_PRODUCT_LIST ST
LEFT OUTER JOIN
SALES_CTE
ON
ST.STORE_CODE = SALES_CTE.STORE_CODE
AND
ST.PRODUCT_CODE = SALES_CTE.PRODUCT_CODE;
如果你有什么好工作,请告诉我。
谢谢。这里介绍了我,还有一些变通方法示例:@Edgars T。非常感谢您的建议!!祝你有美好的一天: