2013-09-23 104 views
0

我不熟悉SQL,但我使用Microsoft Query從舊錶創建新表並添加新列(計算列)。SQL將計算列添加到表

我的計算查詢來自同一張表。我基本上想要從一年前的同一日期檢索一個美元數字,並提供一個按帳戶計算的同比增長的計算字段。除了日期以外,每個帳戶都會有幾列獨特數據。

我在想某些查詢說明列x,y和z匹配,但也包括日期列-364。

如果您可以提供幫助,我會非常感激。

謝謝, 邁克

+1

將計算列存儲在數據庫中並不是最好的方法......在計算它時計算它並且不存儲計算結果會更好(除非丟失數據並希望存儲時間敏感的聚合)。在這裏你也可以選擇一個視圖。 – Twelfth

+0

你使用的是SQL Server嗎? –

+0

@Twelfth - 我確定存儲它可能是最好的,但這是一個可能會變大的小型數據庫表。我只是試圖向供應商提供一些要求,給他們我想要的是計算該列的最佳方式。 – MikeM

回答

0

假設你有你的accountTotals在同一個表,你可以加入該表到自己和你的WHERE子句中指定不同的日期。查詢應該看起來像這樣:

SELECT a.accountingDate, a.accountTotal, 
b.accountingDate, b.accountTotal, (b.accountTotal - a.accountTotal) as ChangeInTotal 
FROM sourceTbl a 
JOIN sourceTbl b on a.x = b.x and a.y = b.y and a.z = b.z 
WHERE a.accountingDate = <current year date> 
and b.accountingDate = <prior year date> 

希望這有助於。

+0

非常感謝! – MikeM