我试图使用子查询插入多行,但它给出并错误“子查询返回多行”
场景是,我想添加对子部门的每个测试的注释,我通过子查询获得所有的测试id,但是我不能遍历id并插入对每个测试的注释。这是我的SQL查询
INSERT INTO dc_tp_comment (labid,branchid,Comment,testid,lastupdated,enteredby)
Values('abcd',101,'comment here',(select T.testid
from dc_tp_test T
Inner Join dc_tp_subdepartments S
on T.subdepartmentid = S.subdepartmentid
Where S.subdepartmentid = 13),sysdate(),1)
最佳答案
不能只在一列中使用subselect,请将它们用于整行:
INSERT INTO dc_tp_comment (labid,branchid,Comment,testid,lastupdated,enteredby)
select 'abcd',101,'comment here', T.testid, sysdate() , 1
from dc_tp_test T Inner Join dc_tp_subdepartments S
on T.subdepartmentid = S.subdepartmentid
Where S.subdepartmentid = 13
关于mysql - 通过subQuery进行多行插入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21622342/