मैं इस तरह मान प्राप्त करने के लिए एक Select
कथन का उपयोग एक दूसरी तालिका से मूल्यों पर आधारित एक तालिका में एकाधिक स्तंभों को अद्यतन करना चाहते हैं:एसक्यूएल अद्यतन - एकाधिक कॉलम
UPDATE tbl1
SET (col1, col2, col3) = (SELECT colA, colB, colC
FROM tbl2
WHERE tbl2.id = 'someid')
WHERE tbl1.id = 'differentid'
हालांकि, यह प्रतीत नहीं होता हालांकि एक से अधिक कॉलम नाम 'एसईटी' करना संभव है - क्या प्रत्येक कॉलम के लिए अलग-अलग अपडेट स्टेटमेंट लिखने के बजाय विकल्प हैं?
UPDATE tbl1
SET col1 = (SELECT colA FROM tbl2 WHERE tbl2.id = 'someid')
WHERE tbl1.id = 'differentid'
UPDATE tbl1
SET col2 = (SELECT colB FROM tbl2 WHERE tbl2.id = 'someid')
WHERE tbl1.id = 'differentid'
UPDATE tbl1
SET col3 = (SELECT colC FROM tbl2 WHERE tbl2.id = 'someid')
WHERE tbl1.id = 'differentid'
दोनों तालिकाओं के रूप में प्रश्न में देखा एक ही आईडी का हिस्सा नहीं है, है, तो कर सकते हैं मैं b.id = 'someid' के लिए एक जहां खंड डाल और tbl1.id = 'difidid' –