目前发生错误1242,表示我从查询中获取多个结果。我希望所有结果都放入设备历史记录表中。我想用相同的bagId标记一些项目,并且在运行插入操作时,它会将所有项目一次处理到相同的eid。

我当前的插入语句如下。

进入设备历史记录(assetId,checkedOutBy,操作)值((从设备中选择assetId,其中bagId ='1'),(从员工中选择eid,其中employeeNum ='1'),'checkedOut');

表格:

装备
assetId,
资产
bagId

雇员
开斋节
员工人数

设备历史
开斋节
assetId,
操作

首选结果:

设备历史:

eid-1 assetId 1操作已签出

eid-1 assetId 2操作已签出

最佳答案

您需要使用所有值构造一个选择,而不是选择的集合

insert into equipmenthistory
            (assetId, checkedOutBy, operation)
     values
     select assetId, employeeNum, 'checkedOut'
       from equip
       join employees using (...)
      where ....

10-06 13:43