मैं एक स्क्लाइट तालिका से एक कॉलम को 1 के साथ अपडेट करना चाहता हूं यदि कॉलम से पिछली पंक्ति उसी कॉलम से अगली पंक्ति के बराबर है।

उदाहरण:

first_column | second_column
----------------------------
      a      |       0
      a      |       1
      b      |       0
      c      |       0
      c      |       1

मेरा कोड:

UPDATE FROM my_table
SET second_column=1
WHERE first_column=first_column-1
0
IchBinMichelle 15 सितंबर 2020, 20:01

1 उत्तर

सबसे बढ़िया उत्तर

क्या इस तालिका में प्राथमिक कुंजी है? यदि नहीं तो आप एक टेबल बना सकते हैं जैसे:

create table new (colPK INTEGER PRIMARY KEY AUTOINCREMENT, first_column, second_column);

फिर अपने अपडेट एसक्यूएल में आप पंक्ति संख्या को संदर्भित करने के लिए कॉलम colPK का उपयोग कर सकते हैं।

UPDATE FROM my_table tab1
SET tab1.second_column=1
WHERE tab1.first_column = ( SELECT tab2.first_column FROM my_table tab2 WHERE tab2.colPK-1 = tab1.colPK)
1
Sumanta Mandal 15 सितंबर 2020, 20:13