2016-11-16 18 views
0

根據另一個列名稱,我會如何相互添加列的數量?根據字段名稱的SQL總和數量

比如我有3列:

NAME:  StockCode: Qty: 
Blackbirds TO12   2 
Blackbirds TO14   4 
Lions  TO55   54 
Tigers  TO41   2 
Lions  TO41   4 

我怎麼會一起添加數量爲烏鴉和獅子都,所以只有一行,所以結果會是如下:

NAME:  StockCode:  Qty: 
Blackbirds TO12   6 
Lions  TO41   58 
Tigers  TO32   2 
+1

您可以使用GROUP BY,但商品代碼有所不同,例如對於獅子,你有T055和T041。你如何確定使用哪一個? – VDK

+0

庫存代碼僅用於獲取包含該庫存代碼的所有產品,所有庫存代碼指的是一種產品,只是不同的顏色庫。 –

+0

好的,那麼在這種情況下,您對該專欄不感興趣?由於您只想獲得每種產品的總和? – VDK

回答

0

你可以試試這個:

SELECT NAME, SUM(QTY) as qty FROM [YourTable] 
GROUP BY NAME 

PS:由於StockCode是對於s的不同ame NAME,它們不能包含在GROUP BY中。 Incase,StockCode並不重要,你只需要基於NAMESUM,那麼你可以使用下面的解決方案。

SELECT NAME,StockCode, SUM(QTY) OVER(PARTITION BY NAME) as qty FROM [YourTable] 
2

看起來像「股票代碼」的規則是找到最小的值。

SELECT NAME, min(stockCode), SUM(QTY) as qty 
FROM tableName 
GROUP BY NAME