我在 SQL Server 中有 2 个表,一个称为PO RECEIPT表,另一个是Move Order表。
我需要编写一个查询以将数据插入Receipt工作正常的表中。收据编号在表中将是唯一的,Receipt因为它是主键和自动增量,例如,对于Receipt数字 1,我收到了 2000 个数量(它是一列)。
如果我想将 500 移动到移动,下次再移动 500 以获得相同的收据编号。Move Order现在我想编写一个视图,它将在按分组的表中加起来移动数量,Receipt Number并从表中收到的数量列中减去这个数量Receipt。
目前我编写了这个视图,它在相同的情况下工作正常,Receipt Number但是当我们Receipt Number在Move Order表中有不同时,它会产生错误。观点是
select distinct
[5_PO_RECEIPT_TABLE_DATABASE].[Part Number],
[5_PO_RECEIPT_TABLE_DATABASE].[Receipt Number],
(select sum([Move_Order].[Move Quantity])
from [Move_Order]
group by [Move_Order].[Receipt Number]),
[5_PO_RECEIPT_TABLE_DATABASE].[Quantity Received] + [Move_Order].[Move Quantity] as TotalQuantity
from
[5_PO_RECEIPT_TABLE_DATABASE]
inner join
[Move_Order] on [5_PO_RECEIPT_TABLE_DATABASE].[Receipt Number] = [Move_Order].[Receipt Number]
以上视图产生的错误是
子查询返回超过 1 个值。当子查询跟随 =、!=、<、<=、>、>= 或子查询用作表达式时,这是不允许的。