我有这个查询
cend()
但是当我运行查询时出现此错误
信息512,第16级,状态1,第4行 子查询返回的值超过1。当子查询遵循=,!=,<,<=,>,> =或将子查询用作表达式时,不允许这样做。
为什么会出现此错误,以及如何解决。预先感谢。
答案 0 :(得分:2)
group by自然会产生多于一行,而select语句中的子查询只需要一行。
您需要以外部查询与内部查询相关的方式更改分组依据。
诀窍是添加awmat.FK_Item = item.Id
按如下所示更改内部查询
select sum(ODRM.[QuantityBooking]-ODRM.ChangeLocationQty)
FROM [dbo].[OrderDetailsRawMaterial] ODRM
inner join RawMaterial rawmat on rawmat.id=[FK_RawMaterial]
Where ODRM.[QuantityBooking] >ODRM.ChangeLocationQty
and awmat.FK_Item = item.Id