Sql 下拉菜单的唯一值

Sql 下拉菜单的唯一值,sql,ssrs-2008,business-intelligence,bids,Sql,Ssrs 2008,Business Intelligence,Bids,我有一个SSRS报告,其中有几个不同的下拉参数菜单,每个都取决于前面菜单中的选择。报告从几个不同的表中获取相似的数据,因此有一些重复的数据,这些值在菜单中多次显示。例如,假设我选择站点A、B和C;这些站点中的每个站点都可能有名为WH1和WH3的仓库,因此“WH1”和“WH3”都会在仓库下拉菜单中多次显示 我知道它这样做的原因是因为我的SQL查询中既有站点名称也有仓库名称,而且,尽管我用一个联合连接了每个表的查询,这应该可以消除重复项,但我从每个表中同时选择站点和仓库列,因此,站点和仓库的每一个组

我有一个SSRS报告,其中有几个不同的下拉参数菜单,每个都取决于前面菜单中的选择。报告从几个不同的表中获取相似的数据,因此有一些重复的数据,这些值在菜单中多次显示。例如,假设我选择站点A、B和C;这些站点中的每个站点都可能有名为WH1和WH3的仓库,因此“WH1”和“WH3”都会在仓库下拉菜单中多次显示

我知道它这样做的原因是因为我的SQL查询中既有站点名称也有仓库名称,而且,尽管我用一个联合连接了每个表的查询,这应该可以消除重复项,但我从每个表中同时选择站点和仓库列,因此,站点和仓库的每一个组合都被认为是唯一的价值。我无法将站点列从查询中删除,因为我需要按站点筛选仓库菜单。有没有办法只获取菜单中仓库的唯一值

下面是我对数据集的SQL查询,该数据集提供仓库参数。数据集还有一个基于在第一个菜单中选择的站点的简单过滤器

选择不同的站点、仓库

从T1开始
联合
选择不同的站点、仓库
从T2开始
联合
选择不同的站点、仓库
从T3

按T$CWAR订购

使用以下查询创建新的数据集:

从中选择不同的临时仓库(
选择不同的站点、仓库
从T1开始
联合
选择不同的站点、仓库
从T2开始
联合
选择不同的站点、仓库
从T3
)温度


将此查询传递给“Warehouse”的参数属性中的可用值(如果需要),并提供默认值。

以下是最终有效的方法。这有点复杂,我承认我不太明白为什么它会起作用,但它确实起作用

选择Site,Warehouse,ROW_NUMBER()OVER(按仓库划分
按仓库排序)作为RowNum
FROM(
选择Site,Warehouse,ROW_NUMBER()OVER(按仓库划分
按仓库排序)作为RowNum
FROM表1)作为T
其中T.RowNum=1


这个解决方案是根据这个问题的答案改编的:

一个代码示例会有所帮助。听起来您可以将联合查询包装在另一个按仓库名称分组的select语句中。@supergrady我添加了一个示例。“我不能从查询中删除站点列,因为我需要将仓库与其各自的站点关联”是什么意思@FilipeSilva我需要站点栏,以便能够按站点筛选仓库。如果我在查询中只有Warehouse列,我会有一堆仓库名称,而不知道它们在哪个站点。这不起作用。它给了我一个错误,然后要求我填写站点的值。好的,如果“仓库”参数不应该依赖于站点的值,那么删除where条件。请查看编辑过的答案。好的,这正是我的问题。仓库确实取决于站点,但我只需要仓库的不同值,该值基于在第一个参数中选择的站点。确定如果它取决于站点,则我以前的查询将不允许您在选择站点之前选择仓库。首先选择站点,根据我的查询将根据站点的输入进行过滤,然后获得不同的仓库值。我对SQL还是相当陌生的。在继续查询其他内容之前,您建议我在哪里选择站点?