我有一个SQL Server查询在伪代码
中看起来像这样 SELECT item_id,
item_desc,
ship2_name,
serial_number,
invoice_no,
(CASE WHEN invoice_no <> 'null' THEN 1 END)AS mult_inv,
quantity_shipped,
(CASE WHEN (mult_inv > 1) THEN SUM(quantity_shipped))AS ship_total
FROM table
基本上当发票号码发生超过1次时,我需要添加发货数量的值并将其存储在新列中。
答案 0 :(得分:2)
你所描述的听起来像一个窗口功能。这似乎符合您的描述:
SELECT column1, column2, column3, column4, column5,
(CASE WHEN COUNT(*) OVER (PARTITION BY column5)
THEN SUM(column5) OVER ()
END) as column6
FROM table1;
我并非100%确定这是你真正想要的。