我按供应商按月列出了库存美元表。我希望能够每天更新当月的美元金额,但我不想丢失上个月的数据。这是我的基本查询:
DELETE Inventory_Dollars
FROM Inventory_Summary
WHERE MonthNum = '4'
SELECT
SUM(Cost*OnHand) AS Inventory_Dollars
FROM Inventory
Inventory表将始终保存当前数据。如何从Select语句中插入Inventory_Summary数据?
答案 0 :(得分:0)
使用INSERT前缀查询:
INSERT INTO Inventory_Summary
(Inventory_Dollars)
SELECT SUM(Cost * OnHand) AS Inventory_Dollars
FROM Inventory
答案 1 :(得分:0)
如果您已经插入了当月的inventory_dollars金额,那么您可以每天使用以下内容更新该值:
UPDATE Inventory_Summary
SET Inventory_Dollars = (
SELECT (Cost * OnHand)
FROM Inventory
)
WHERE MonthNum = DATEPART(m, GETDATE()) AND Year = DATEPART(year, GETDATE())
DATEPART可用于填写当前日期的月份数GETDATE()。那么您将不会更新过去几个月的inventory_dollars值。
编辑:还在where子句中添加了一年,因此您不会更新过去几年的月份。
编辑2:如果在SET中使用子查询,请确保只能返回一个结果。