2017-07-17 85 views
0

我有一個臨時表中的MS Access與下列標題如何轉列,而在另一個表存儲在MSACCESS

ProjectID, JanuaryCost, FebruaryCost ,...DecemberCost Year 
1001  $25   $50    $35   2016 
1001  $15   $22    $26   2017 

我想這些記錄保存在它具有以下字段的另一個訪問表

ProjectID , IncurredDate , Cost 
1001   01/2016  $25 
1001   02/2016  $50 
. 
. 
1001   12/2017   $26 

我該怎麼做? 我不是一個極端的專家在訪問,所以如果有人可以給我一個示例查詢,而不是像(正常化)

+0

那麼,這不是一個免費的代碼寫作服務。你有沒有嘗試過自己? – GhostCat

+0

你正在尋找在這裏生成數月,並且邏輯對我來說並不完全清楚。你的問題需要適量的SQL奧林匹克來實現。 –

+0

我正在導入一個excel文件到上面表1所示的結構中。我希望將列名(讓說1月)和年份組合來實現這一點。 – Anup

回答

0

這樣的方法,將是偉大的使用UNION查詢重新排列源數據到規範化的結構。

SELECT ProjectID, "1/1/" & [Year] AS IncurredDate, [JanuaryCost] AS Cost FROM tablename UNION SELECT ProjectID, "2/1/" & [Year], [FebruaryCost] FROM tablename ... UNION SELECT ProjectID, "12/1/" & [Year], [DecemberCost] FROM tablename;

必須使用查詢生成器,並鍵入或複製/粘貼線SQLView。有50條SELECT線的限制。

IncurredDate字段應該是日期/時間類型,並填充完整日期,如示例中所示。或者如果真的只想在文本字段中輸入月份和年份,請填充爲YYYY/MM,以便更輕鬆地排序/過濾,或將年份和月份放在單獨的字段中。

+0

奇妙的爲我工作。謝謝 ! – Anup

相關問題