subquery ตารางเดียวกัน


เราไม่สามารถ subquery ตารางเดียวกันได้เหรอ

เช่น

INSERT INTO balance (bal_date,bal_cost) VALUE

('2010-09-25' ,(SELECT bal_cost AS last FROM balance WHERE MONTH(bal_date)='09' ORDER BY bal_id DESC LIMIT 1))

มันโชว์ error ว่า



#1093 - You can't specify target table 'balance' for update in FROM clause



 เราเลยลองเปลี่ยนเป็น



INSERT INTO balance (bal_date,bal_cost) VALUE

('2010-09-25' ,(SELECT bg_cost AS last FROM budget WHERE MONTH(bg_date)='09' ORDER BY bg_id DESC LIMIT 1))



insert ได้ปกติ



##ตาราง balance และ budget โครงสร้างเดียวกันทุกอย่าง


24 ก.ย. 2553 2 2,164

ได้ครับโดยการกำหนดตารางทั้ง 2 เป็นชื่ออื่นที่ไม่ตรงกัน



INSERT INTO balance (bal_date,bal_cost) VALUE

('2010-09-25' ,(SELECT b2.bal_cost AS last FROM balance AS b2 WHERE MONTH(b2.bal_date)='09' ORDER BY b2.bal_id DESC LIMIT 1))

#1



ขอบคุณจ้าา





#2
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 1024
^