使用 group on Union Incorrect Syntax Error 进行更新
Update using group on Union Incorect Syntax Error
我需要在更新中使用 group by
Update t1 set t1.TemporaryStock = t1.TemporaryStock + isnull(sum(t2.Quantity),0)
from inventorymaster t1 join
(Select * from InventoryTransTemp Union all Select * from InventoryTrans)t2
on t1.InventoryItemID=t2.InventoryItemID where t2.TrnDocumentID=169452
group by t2.InventoryItemID;
我在组中遇到错误语法
如果我将此查询与 Select 一起使用而不是更新,它工作正常
如何按错误修复组?
我建议将聚合移动到子查询。我还删除了外部查询中的 isnull()
,因为我没有真正看到它的用途。
update t1
set t1.TemporaryStock = t1.TemporaryStock + t2.sum_quantity
from inventorymaster t1
inner join (
select InventoryItemID, sum(quantity) sum_quantity
from (
select InventoryItemID, quantity from InventoryTransTemp where TrnDocumentID = 169452
union all Select InventoryItemID, quantity from InventoryTrans where TrnDocumentID = 169452
) t
group by InventoryItemID
) t2 on t1.InventoryItemID = t2.InventoryItemID;
我需要在更新中使用 group by
Update t1 set t1.TemporaryStock = t1.TemporaryStock + isnull(sum(t2.Quantity),0)
from inventorymaster t1 join
(Select * from InventoryTransTemp Union all Select * from InventoryTrans)t2
on t1.InventoryItemID=t2.InventoryItemID where t2.TrnDocumentID=169452
group by t2.InventoryItemID;
我在组中遇到错误语法
如果我将此查询与 Select 一起使用而不是更新,它工作正常 如何按错误修复组?
我建议将聚合移动到子查询。我还删除了外部查询中的 isnull()
,因为我没有真正看到它的用途。
update t1
set t1.TemporaryStock = t1.TemporaryStock + t2.sum_quantity
from inventorymaster t1
inner join (
select InventoryItemID, sum(quantity) sum_quantity
from (
select InventoryItemID, quantity from InventoryTransTemp where TrnDocumentID = 169452
union all Select InventoryItemID, quantity from InventoryTrans where TrnDocumentID = 169452
) t
group by InventoryItemID
) t2 on t1.InventoryItemID = t2.InventoryItemID;