sql >> データベース >  >> RDS >> Oracle

ORACLEのLAG関数を使用して前日のカウントを更新します

    MERGEを使用できます:

    MERGE INTO PRD_DTLS A USING 
    (
      SELECT
          PRODUCT,
          TXN_DATE,
          LAG(NO_OF_TXNS) OVER(
              PARTITION BY PRODUCT
              ORDER BY
                  TXN_DATE
          ) AS PREV_TXN
      FROM
          PRD_DTLS 
    )
    B ON ( A.PRODUCT = B.PRODUCT
           AND A.TXN_DATE = B.TXN_DATE )
    WHEN MATCHED THEN UPDATE SET A.PREV_DAY_TXN = CASE
        WHEN B.PREV_TXN IS NOT NULL THEN B.PREV_TXN
        ELSE 0
    END;
    

    乾杯!!



    1. Oracleのクエリの外部でidが一致する場所を選択するようにテーブルセットの列を更新します

    2. SQLサブクエリ-最小値を見つける方法

    3. Laravel移行プライマリ(またはキー)識別子名が長すぎます

    4. SQL:基準を満たす関連付けのないレコードのみを返します