我有一個表中有列每一年12個月的的Access數據庫。這些列的名稱爲「1」到「12」。也就是說,列的名稱只是它所代表的月份的編號。這些列包含數字作爲數據,並且我需要總結當年剩餘月份的列。例如,現在我們在9月份,所以我需要SELECT
條款將列(月)9到12中的值相加。這必須能夠動態地總結相關月份,以便下個月(Oct )Sep將被排除,並且只有10到12被加和。如何獲得使用列名在SELECT子句
我如何引用SELECT
子句中的列名,以便能夠在其上進行測試。我需要的東西像下面這樣:
IIf(Table1.[1].ColumnName >= Month(Now), Table1.[1], 0)
+ IIf(Table1.[2].ColumnName >= Month(Now), Table1.[2], 0)
...
+ IIf(Table1.[12].ColumnName >= Month(Now), Table1.[12], 0)
這將是一個辦法,但在傳球,如果有更好的方式來做到這一點,請讓我知道爲好。
我見過上的其他職位,商量返回所有列名的表。這不是我需要的。我需要返回列名並在SELECT
子句中對其執行測試。謝謝。
EDIT 我明白,這種結構(具有12個不同的列中的數據)不是最大的。這不是我設置的新數據庫。這是我繼承的舊數據庫,所以我無法對結構進行更改。
這實質上在結構創造了一個「臨時」表中的數據應該首先創建,以便能夠執行我需要的'SELECT'和'JOIN'。聰明。這不是一個龐大的數據庫,所以性能還是相當不錯的,無論如何,性能對於我所需要的並不那麼重要。謝謝一堆! – neizan 2014-09-11 16:40:51