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

मैं SQL सर्वर में जॉइन के साथ एक अद्यतन विवरण कैसे कर सकता हूं?

सिंटैक्स सख्ती से इस बात पर निर्भर करता है कि आप किस SQL ​​​​DBMS का उपयोग कर रहे हैं। एएनएसआई/आईएसओ (उर्फ को किसी भी एसक्यूएल डीबीएमएस पर काम करना चाहिए), माईएसक्यूएल, एसक्यूएल सर्वर और ओरेकल में इसे करने के कुछ तरीके यहां दिए गए हैं। सलाह दीजिये कि मेरी सुझाई गई एएनएसआई/आईएसओ विधि आम तौर पर अन्य दो विधियों की तुलना में बहुत धीमी होगी, लेकिन यदि आप MySQL, SQL सर्वर, या ओरेकल के अलावा किसी अन्य SQL डीबीएमएस का उपयोग कर रहे हैं, तो यह जाने का एकमात्र तरीका हो सकता है (उदा। यदि आपका SQL DBMS MERGE का समर्थन नहीं करता है ):

एएनएसआई/आईएसओ:

update ud 
     set assid = (
          select sale.assid 
          from sale 
          where sale.udid = ud.id
     )
 where exists (
      select * 
      from sale 
      where sale.udid = ud.id
 );

MySQL:

u.id =s.udidset u.assid =s.assid पर
update ud u
inner join sale s on
    u.id = s.udid
set u.assid = s.assid

SQL सर्वर:

update u
set u.assid = s.assid
from ud u
    inner join sale s on
        u.id = s.udid

पोस्टग्रेएसक्यूएल:

update ud
  set assid = s.assid
from sale s 
where ud.id = s.udid;

ध्यान दें कि लक्ष्य तालिका को FROM . में दोहराया नहीं जाना चाहिए पोस्टग्रेज के लिए क्लॉज।

ओरेकल:

update
    (select
        u.assid as new_assid,
        s.assid as old_assid
    from ud u
        inner join sale s on
            u.id = s.udid) up
set up.new_assid = up.old_assid

SQLite:

update ud 
     set assid = (
          select sale.assid 
          from sale 
          where sale.udid = ud.id
     )
 where RowID in (
      select RowID 
      from ud 
      where sale.udid = ud.id
 );


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक पंक्ति की आईडी प्राप्त करना जिसे मैंने Sql सर्वर में अपडेट किया है

  2. मैं SQL सर्वर ब्राउज़र प्रारंभ नहीं कर सकता

  3. SSH टनल के माध्यम से एक बैशन सर्वर को PostgreSQL सर्वर से कनेक्ट करना

  4. एसक्यूएल का चयन करें जहां सबक्वायरी में कोई परिणाम नहीं देता है

  5. एसक्यूएल सर्वर डेटटाइम ऑब्जेक्ट को बिगिनट (नेट टिक) में कनवर्ट करें