ฉันกำลังพยายามทำสิ่งนี้ใน postgres:
UPDATE table1 SET (col1, col2) = (SELECT col2, col3 FROM othertable WHERE othertable.col1 = 123);
INSERT INTO table1 (col1, col2) VALUES (SELECT col1, col2 FROM othertable)
แต่จุดที่ 1 ไม่สามารถทำได้แม้จะมี postgres 9.0 ตามที่กล่าวไว้ในเอกสาร ( http://www.postgresql.org/docs/9.0/static/sql-update.html )
จุดที่ 2 ดูเหมือนจะไม่ทำงาน ฉันได้รับข้อผิดพลาดต่อไปนี้: เคียวรีย่อยต้องส่งคืนคอลัมน์เดียวเท่านั้น
หวังว่าใครบางคนจะมีวิธีแก้ปัญหาสำหรับฉัน มิฉะนั้นการสืบค้นจะใช้เวลานาน :(
FYI: ฉันกำลังพยายามเลือกคอลัมน์ต่างๆจากหลาย ๆ ตารางและจัดเก็บไว้ในตารางชั่วคราวเพื่อให้แอปพลิเคชันอื่นสามารถดึงข้อมูลที่เตรียมไว้ได้อย่างง่ายดาย