Amazon redshift 我们可以在红移中使用CTE(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

我想在我的红移插入/更新查询中使用变量作为基准日期,因为这个基准日期应该像往常一样是当前的\ U日期-1,但在有任何紧急事项时应该灵活修改

我可以在WITH子句中使用变量,如下所示。我只是想知道我们可以在更新查询中做同样的事情

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。非常感谢您的建议!!祝你有美好的一天: