sql >> Databáze >  >> RDS >> Sqlserver

Aktualizujte prohlášení pomocí funkce Připojit a Seskupit

Můžete zkusit vložit skupinu do dílčího dotazu a poté se připojit pomocí "JobOrderID" takto:

UPDATE J
SET J.StatusID = A.statusId
FROM MKT_JobOrder J
INNER JOIN (
    SELECT J.JobOrderID
        , CASE 
            WHEN SUM(DUV.VendorDUQuantity) = SUM(RD.InvoiceQuantity)
                THEN 1
            ELSE J.StatusID
            END AS statusId 
    FROM PLN_DU_Vendor DUV
    INNER JOIN ENG_Release R ON R.ReleaseID = DUV.ReleaseID
    INNER JOIN ENG_DU_Header H ON H.ReleaseID = R.ReleaseID
                               AND DUV.DUID = H.DUID
    INNER JOIN MKT_JobOrder J ON J.JobOrderID = R.JobOrderID
    INNER JOIN MKT_CustomerOrder CO ON CO.OrderID = J.OrderID
    LEFT JOIN PMT_RFDHeader RH ON RH.JobOrderID = J.JobOrderID
    LEFT JOIN PMT_RFDDetail RD ON RD.RFDID = RH.RFDID
                               AND RD.DUID = DUV.DUID
    WHERE CO.OrderID = 100
    GROUP BY J.JobOrderID
           , J.StatusID
    ) A ON J.JobOrderID = A.JobOrderID


  1. Vývoj vícetabulkové databáze Android SQLite

  2. Mysql změnit řazení sloupců a znakovou sadu informačního schématu

  3. Nainstalujte libpq-dev na Mac OS X

  4. SQL:Jak mohu aktualizovat hodnotu ve sloupci, pouze pokud je tato hodnota null?