2014-09-18 57 views
0

我有以下查詢:如何將一個總列添加到表中?

SELECT * FROM [DSPCONTENT01].[dbo].[zWMGWEEKARRIVAL] 
WHERE 
[ARRIVED DATE] = 'WEEKLY TOTAL' OR [ARRIVED DATE] = 'PRIOR WEEK' OR [ARRIVED DATE] = '12 WEEK AVERAGE' 

它顯示此:

enter image description here

有什麼辦法以添加另一列或從它創建另一個表,其中它橫跨加總?

例子:

ARRIVED DATE  TOTAL 

WEEKLY TOTAL  12000 
PRIOR WEEK  13654 
12 WEEK AVERAGE 10094 
+2

你沒有指定一個RDBMS,而只是添加列起來,類似於:[Theall] + [TheallUC] + [171] + ... + [OSB] AS [TOTAL] – LittleBobbyTables 2014-09-18 19:01:15

+0

微軟SQL服務器 – SearchForKnowledge 2014-09-18 19:01:58

回答

1

只需使用+但要小心NULL S:

SELECT [ARRIVED DATE], 
     (coalesce(col1, 0) + coalesce(col2, 0) + coalesce(col3, 0), . . . 
     ) as Total 
FROM [DSPCONTENT01].[dbo].[zWMGWEEKARRIVAL] 
WHERE [ARRIVED DATE] IN ('WEEKLY TOTAL', 'PRIOR WEEK', '12 WEEK AVERAGE'); 

我不能輕鬆地閱讀你的列名,但你應該包括真實姓名。

+0

WOW ..多麼簡單! :) – SearchForKnowledge 2014-09-18 19:06:01

1

如果你想把總和作爲數據庫中的一列,你可以添加一個所謂的computed column。你基本上只是添加一個查詢作爲列。您可以在計算列規範下的表設計器中的SSMS內或鏈接中描述的alter table語句執行此操作。

ALTER TABLE zWMGWEEKARRIVAL 
ADD Total AS (Theall + TheallUC + ....rest of columns) 
相關問題