A-AA+then

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

1,343

    เราไม่สามารถ 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 โครงสร้างเดียวกันทุกอย่าง

2 ความคิดเห็น

ได้ครับโดยการกำหนดตารางทั้ง 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
^