我在报告服务中有一个报告模型,包含3个表:
这些表格的内容如下:
Person (ID,姓名)
1,无名氏
2,无名女尸
背景 (ID,背景)
1,女性
2,男性
3,单身
4,已婚
PersonBackgrounds (个人,BACKGROUNDID)
1,2 1,3
如果我在SSRS中创建了一个新的数据集,并添加了一个只包含男性的筛选器,查询将按预期返回"John“记录。但是,当我添加第二个过滤器返回“单身男性”时,记录集是空的。
是否可以在需要满足两个条件的同一列/字段上设置多个筛选器。或者还有别的方法可以得到吗?
发布于 2010-07-07 23:46:55
我不知道如何使用报表上的过滤器来实现它,但是使用SQL您可以这样做:
Select p.*
From Persons p
INNER JOIN PersonBackgrounds pb1 ON p.ID = pb1.PersonID
INNER JOIN PersonBackgrounds pb2 ON p.ID = pb2.PersonID
WHERE
pb1.BackgroundID = 2 --Male
AND pb2.BackgroundID = 3 --Single您需要两次连接到PersonBackgrounds表,因为您正在像两个不同的查找表一样使用它。
https://stackoverflow.com/questions/3199350
复制相似问题