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

एक कॉलम को दूसरे कॉलम के मान के आधार पर अपडेट करना

मैं इसे यथासंभव सरल तरीके से समझाने की कोशिश करने जा रहा हूं ताकि इसे समझना आसान हो:

मान लेते हैं, आपके पास एक टेबल है Vendor कुछ इस तरह सेटअप करें:

create table Vendor (AccountTerms int, ulARAgeing varchar(50));

और, फिर हम Vendor . में दोनों स्तंभों के लिए कुछ नमूना मान डालेंगे टेबल:

insert into Vendor values
(0,'Test'),
(1,'Test1'),
(2,'Test2');

इसके बाद, हम आपके ulARAgeing . को अपडेट करने के लिए एक अपडेट स्टेटमेंट लिखेंगे AccountTerms . में मानों के आधार पर कॉलम एक ही टेबल में कॉलम:

update vendor 
set ulARAgeing = (CASE 
                      WHEN AccountTerms = 0 
                        THEN 'Current'
                      WHEN AccountTerms = 1
                        THEN '30 Days'
                      WHEN AccountTerms = 2
                        THEN '60 Days'
                    END);

CASE WHEN IF..ELSE . का उपयोग करने के समान है अधिकांश अन्य प्रोग्रामिंग भाषाओं में बयान। इसलिए, यहां हम मौजूदा ulARAgeing . को अपडेट करेंगे स्टेटमेंट के मामले में स्थिति के आधार पर अलग-अलग स्ट्रिंग मान का मान। तो, उदा। अगर AccountTerms = 0 तब हम ulARAgeing . के लिए मान अपडेट करेंगे 'वर्तमान' और इसके आगे।

यह जांचने के लिए कि क्या उपरोक्त कथन सही ढंग से काम करता है, आपको बस ऊपर दिए गए अपडेट स्टेटमेंट को चलाने की जरूरत है और फिर तालिका से फिर से चयन करें:

 select * from Vendor; 

परिणाम:

+--------------+-----------------+
| AccountTerms |   ulARAgeing    |
+--------------+-----------------+
|            0 |         Current |
|            1 |         30 Days |
|            2 |         60 Days |
+--------------+-----------------+

SQL Fiddle डेमो



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. दूषित फ़ाइलें Microsoft Office 2007 ASP.NET 1.1 और SQL सर्वर

  2. SqlServerSpatial.dll लोड करने में असमर्थ

  3. एक दृश्य में कास्टिंग वैज्ञानिक संकेतन (वर्चर से -> संख्यात्मक)

  4. SQL - BIGINT को INT . में सुरक्षित रूप से डाउनकास्ट करें

  5. संग्रहीत प्रक्रिया में एसक्यूएल त्रुटि कैसे प्राप्त करें