2016-11-08 179 views
-3

我有一個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次我需要添加裝運數量和存儲的值他們在一個新的專欄。

+2

樣本數據和期望的結果確實是hep。 –

+0

你是什麼嘗試你自己的?你希望我們做你的功課嗎? –

+0

這幫助我從這個網站獲得最大收益。 http://stackoverflow.com/help/how-to-ask –

回答

2

你所描述的聽起來像一個窗口函數。這似乎是做你所描述的:

SELECT column1, column2, column3, column4, column5, 
     (CASE WHEN COUNT(*) OVER (PARTITION BY column5) 
      THEN SUM(column5) OVER() 
     END) as column6 
FROM table1; 

我不是100%確定,這是你真正想要的。

+0

地獄猜戈登! –

+0

我更新了我的代碼以嘗試更具體。 – LDykes

+0

我不需要在第6列中存儲總和,但是當第5列出現多次時,我需要第6列中的值的總和,並且我需要在新列中顯示這些新值,對不起我不熟悉SQL,這是我第二次使用這個網站,所以我不知道我是否提供了正確的信息類型。 – LDykes