मुझे नहीं लगता कि आप कर सकते हैं। इस प्रकार, यह वास्तव में एक उत्तर नहीं है, लेकिन यह एक टिप्पणी के लिए बहुत लंबा है।
आप आसानी से 2 कॉलम के साथ अपनी क्वेरी लिख सकते हैं (मुझे लगता है कि आप इसे पहले से ही जानते थे):
select_query = select([table2.c.col1, table2.c.col2]).where(table1.c.key == table2.c.key)
और बाद में आप with_only_columns()
. विधि का उपयोग कर सकते हैं , देखें api
:
In[52]: print(table.update().values(col1 = select_query.with_only_columns([table2.c.col1]), col2 = select_query.with_only_columns([table2.c.col2])))
UPDATE table SET a=(SELECT tweet.id
FROM tweet
WHERE tweet.id IS NOT NULL), b=(SELECT tweet.user_id
FROM tweet
WHERE tweet.id IS NOT NULL)
लेकिन जैसा कि आप अपडेट स्टेटमेंट से देखते हैं, आप प्रभावी रूप से दो चयन कर रहे होंगे। (क्षमा करें, मैंने आपके उदाहरण के लिए आउटपुट को पूरी तरह से अनुकूलित नहीं किया, लेकिन मुझे यकीन है कि आपको यह विचार मिल गया है)।
मुझे यकीन नहीं है कि, जैसा कि आप कहते हैं, MySQL
इसे केवल एक प्रश्न बनाने के लिए पर्याप्त स्मार्ट होगा। मुझे भी ऐसा ही लगता है। आशा है कि यह वैसे भी मदद करता है।