这是一个mysql语句,你能否告诉它有什么问题
insert into wip_inventory
(wip_inventory.amount)
values (
select
sum(planning.actual_cost) as c
from planning
where planning.progress='no'
)
答案 0 :(得分:1)
使用values
(一个用于values
列表,一个用于子查询),您需要两组括号来表达此逻辑。但是,无论如何,这个关键字是多余的:
insert into wip_inventory (wip_inventory.amount)
select sum(planning.actual_cost) as c
from planning
where planning.progress = 'no';
答案 1 :(得分: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'