【发布时间】:2018-03-08 16:04:12
【问题描述】:
在 T-SQL 中,我试图通过获取今天和到期采购订单之间的差值,用我们期望它交付给我们的周数来更新库存用户字段。但是,如果有多个采购订单包含该产品(显然),则选择查询可以返回多行采购订单。我想取它返回的最小数字/最小值,但显然不能在更新查询中这样做。任何人都可以推荐一个解决方法吗?谢谢。
UPDATE [Exchequer].[ASAP01].[STOCK]
SET stUserField7 = DATEDIFF(day,CONVERT(VARCHAR(8), GETDATE(), 112),min(tlLineDate)) / 7 + 1
FROM [Exchequer].[ASAP01].[STOCK]
JOIN [Exchequer].[ASAP01].[CUSTSUPP]
ON stSupplier = acCode
JOIN [Exchequer].[ASAP01].[DETAILS]
ON stCode = tlStockCodeTrans1
WHERE stSupplier <> '' AND stQtyOnOrder > '0' AND stQtyOnOrder > stQtyAllocated
AND tlOurRef like 'POR%' AND (floor(tlQtyDel) + floor(tlQtyWOFF)) < floor(tlQty)
AND tlLineDate >= CONVERT(VARCHAR(8),GETDATE(), 112)
【问题讨论】:
标签: sql sql-server tsql sql-update