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

एसक्यूएल अद्यतन (मेरी मदद करें)

सबसे पहले, पता करें कि किन रिकॉर्ड्स को अपडेट करने की आवश्यकता है:

select *
from tbl_order o
inner join tbl_group g on
    g.grp_id = o.grp_id
inner join tbl_indicator i on
    i.grp_nbr = g.grp_nbr
    and i.sect_nbr = g.sect_nbr
where
    g.indicat != i.indicat

अब, उन अभिलेखों को सही grp_id के साथ अद्यतन करने के लिए क्वेरी को संशोधित करें। ध्यान दें कि मैंने "g2" के उपनाम के साथ tbl_group तालिका में एक अतिरिक्त जुड़ाव जोड़ा है। यह सही समूह होगा।

update o set
    o.grp_id = g2.grp_id
from tbl_order o
inner join tbl_group g on
    g.grp_id = o.grp_id
inner join tbl_indicator i on
    i.grp_nbr = g.grp_nbr
    and i.sect_nbr = g.sect_nbr
inner join tbl_group g2 on
    g2.grp_nbr = i.grp_nbr
    and g2.sect_nbr = i.sect_nbr
    and g2.indicat = i.indicat
where
    g.indicat != i.indicat

ध्यान दें कि tbl_group g2 पर आंतरिक जुड़ाव के कारण, यदि कोई tbl_group रिकॉर्ड मौजूद नहीं है, जहां इंडिकैट उसके संबद्ध tbl_indicator रिकॉर्ड के इंडिकैट मान से मेल खाता है, तो रिकॉर्ड्स को अपडेट नहीं किया जाएगा।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं एसक्यूएल सर्वर 2005 में कुछ रिकॉर्ड अपडेट करने के लिए केस स्टेटमेंट का उपयोग करना चाहता हूं

  2. SSRS रिपोर्ट परिभाषा सर्वर से नई है

  3. SQL स्ट्रिंग तुलना, ऑपरेटरों से अधिक और कम

  4. अल्पविराम से अलग किए गए मानों के आधार पर तालिका में शामिल होना

  5. निर्दिष्ट मॉड्यूल नहीं मिला। (एमएस विजुअल डेटाबेस टूल्स)