我有四个相同的表,我试图通过查询。我遇到的一个问题是参数。我有一个查询结合四个表一起工作完美,直到我添加一个参数。该参数更改其中一列中的数据。访问参数输入更改实际数据
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