Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

ज्वाइन और ग्रुप बाय का उपयोग करके स्टेटमेंट अपडेट करें

आप समूह को एक सबक्वायरी के अंदर डालने का प्रयास कर सकते हैं, फिर "JobOrderID" से जुड़ें, इस तरह:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. जावा से एसक्यूएल सर्वर संग्रहीत प्रक्रिया में टेबल-मूल्यवान पैरामीटर कैसे पास करें?

  2. Sql Server 2008 में गतिरोध समस्या निवारण

  3. Windows NT समूह/उपयोगकर्ता के बारे में जानकारी प्राप्त नहीं कर सका

  4. SQL सर्वर 2014 एक्सप्रेस लोकलडीबी (.mdf) फ़ाइल का प्रोग्रामेटिक रूप से बैकअप कैसे लें

  5. केवल एक पंक्ति सम्मिलित करना यदि वह पहले से मौजूद नहीं है