我有四個相同的表,我試圖通過查詢。我遇到的一個問題是參數。我有一個查詢結合四個表一起工作完美,直到我添加一個參數。該參數更改其中一列中的數據。訪問參數輸入更改實際數據
PARAMETERS [Year] Text (255);
SELECT main.Geography, main.Year
FROM ((((select Geography, Year from [Geo union CA]
UNION SELECT Geography, Year FROM [Geo union CC]
UNION SELECT Geography, Year FROM [Geo union PA]
UNION SELECT Geography, Year FROM [Geo union PC]) AS main
LEFT JOIN [Geo union CA] ON (main.Year = [Geo union CA].Year) AND (main.Geography = [Geo union CA].Geography))
LEFT JOIN [Geo union CC] ON (main.Year = [Geo union CC].Year) AND (main.Geography = [Geo union CC].Geography))
LEFT JOIN [Geo union PA] ON (main.Year = [Geo union PA].Year) AND (main.Geography = [Geo union PA].Geography))
LEFT JOIN [Geo union PC] ON (main.Year = [Geo union PC].Year) AND (main.Geography = [Geo union PC].Geography)
WHERE (((main.Year)=[Year]))
GROUP BY main.Geography, main.Year
ORDER BY main.Geography;
所以我想要地理和地理相關的年份(財務報表)。如果沒有「(((main.Year)= [年])」),我會得到地理和相關年份的正確信息。有了它和參數,地域出來了,但隨着年數的增加,我將其放入參數中。
對於一些額外的上下文,[Geo union XX]是一個簡單的查詢來從初始數據表中提取地理位置和年份。這似乎顯着加快了查詢時間。
在這些情況下,'Year'應該是什麼? ...'SELECT Geography,Year'是表中字段的名稱,'Year()'函數還是'Year'參數? – HansUp
如果將參數的名稱從'Year'更改爲'pYear',然後將字段名稱括起來會發生什麼? 'SELECT Geography,[Year]' – HansUp
修正了它,謝謝!我想我應該實際上閱讀一個參數的工作方式。認爲它需要與字段名稱相同,但顯然在查詢中使用它沒有意義 – daniel