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 1,415

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