我有一个这样的 SQL Server 查询:
CREATE TABLE ##Temp(
OrderID NVARCHAR(100),
ID INT,
Prices INT,
Total INT
);
INSERT INTO ##Temp (ID, Prices, OrderID, Total)
SELECT fc.ID, f.Prices, f.OrderID,
(SUM(f.Prices) OVER()) AS Total
FROM FruitCrates fc
LEFT JOIN Fruits f ON fc.ID = f.FruitCrateID
WHERE fc.OrderID LIKE '18_1635'
AND fc.Rights = 1
AND fc.Cancelled = 0
AND f.OrderID IS NOT NULL;
SELECT * FROM ##Temp;
但我不断收到错误消息:
消息 207,级别 16,状态 1,第 12 行
无效的列名称“总计”。
我认为这是因为我没有OVER()
正确使用但我不知道如何修复它。
请注意
SELECT
声明在没有放在之后就起作用INSERT
。
没有 INSERT 的结果
╔═════╦════════╦══════════╦═══════╗
║ ID ║ Prices ║ OrderID ║ Total ║
╠═════╬════════╬══════════╬═══════╣
║ 77 ║ 1 ║ 1_370 ║ 104 ║
║ 19 ║ 101 ║ 1811_171 ║ 104 ║
║ 77 ║ 2 ║ 1811_171 ║ 104 ║
╚═════╩════════╩══════════╩═══════╝