2015-05-23 31 views
0

這裏是一個MySQL的語句,可以請你分不清什麼是錯的Correting錯誤插入 - 從 - 選擇SQL語句

insert into wip_inventory 
(wip_inventory.amount) 
values (
    select 
    sum(planning.actual_cost) as c 
    from planning 
    where planning.progress='no' 
) 
+1

爲什麼你認爲什麼是錯的呢? –

+4

歡迎來到本網站!然而,它在這裏的作用方式恰恰相反:你告訴發生了什麼,社區幫助你解決問題。 – dasblinkenlight

回答

1

您需要兩套括號的使用values來表達這種邏輯(一個用於values列表和一個子查詢)。但是,關鍵字是多餘的呢:

insert into wip_inventory (wip_inventory.amount) 
    select sum(planning.actual_cost) as c 
    from planning 
    where planning.progress = 'no'; 
0

在查詢中只有一條記錄將被添加到wip_inventory如果子查詢返回多個記錄將拋出錯誤。 我想你要插入的所有記錄從子查詢返回的話,使用INSERT INTO SELECT

insert into wip_inventory (wip_inventory.amount) 
select sum(planning.actual_cost) as c 
from planning 
where planning.progress='no'