我在 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 个值。当子查询跟随 =、!=、<、<=、>、>= 或子查询用作表达式时,这是不允许的。