使用表2(定义)中的标准查询表1(销售数据) - 当没有通用字段时

时间:2015-08-27 23:59:38

标签: sql-server ms-access join reporting ssrs-2008-r2

我需要在SSRS或Access中创建一个交互式工具,用户可以在其中输入促销的定义,然后系统会提供与这些条件相关的销售数据。

用户将选择要报告的促销,系统应使用相关的促销定义来提供结果。

我尝试使用提示选择促销,然后在Access中的子查询中插入提示值,但它不喜欢我的语法。看起来像是:

SELECT R.NumberPresented
FROM dbo_MKT_PromoRecapMetric R
WHERE R.DonationDate = 
        (Select P.5007Start
         FROM [Promo Definitions] P
         WHERE P.PromoName = [Forms]![Promo.Select]![Promo]
        AND R.LocationCode = '5007')

我已经在这个问题上工作了很长时间,任何帮助都会非常感激......

更新:感谢表连接解决方​​案。我应该在帖子中提到日期标准已经简化了。实际上,我需要选择促销的开始和结束日期来驱动查询的日期范围。我不认为我可以通过加入来做到这一点。

我想我在sql中寻找相当于Excel的查找。

感谢。

1 个答案:

答案 0 :(得分:0)

不要在where语句中使用子查询,而是尝试加入表格。

SELECT R.NumberPresented
FROM  dbo_MKT_PromoRecapMetric AS R  
INNER JOIN [Promo Definitions] AS P 
   ON P.[5007Start] = R.DonationDate
WHERE (((P.PromoName)=[forms]![Promo.Select]![Promo]) 
   AND ((R.LocationCode)="5007"));