TSQL SSRS 交叉引用另一列
TSQL SSRS Cross Reference another column
ID | Col2 | Col3 | SequenceNum
--------------------------------
1 | x | 12 | 5
2 | y | 11 | 6
3 | a | 45 | 7
100 | b | 23 | 8
101 | a | 16 | 9
102 | b | 28 | 10
4 | a | 9 | 11
5 | b | 26 | 12
6 | x | 100 | 13
我现在有一份 SSRS 报告,您可以输入 ID
来查看这些 ID 的数据。例如假设你输入 start ID
2 end ID
5 它会返回 2,3,4,5 与 Col2
和 Col3
数据。
但我真正想要的是 return 2,3,100,101,102,3,4,5
我相信可能有某种方法可以交叉引用 SequenceNum
专栏,但我对 SQL 和 SSRS 还很陌生,有人可以帮忙吗?
因此用户将输入参数...
start-ID
= 2 其中 SequenceNum
为 6
end-ID
= 5 其中 SequenceNum
为 12
分别从起始 ID 和结束 ID 提供的值中提取起始和结束序列号,并在 WHERE 条件下使用它们,如下所示
DECLARE @StartingSeqNum INT, @EndingSeqNum
SELECT @StartingSeqNum = SeqNum FROM tableName WHERE ID = @start_id
SELECT @EndingSeqNum = SeqNum FROM tableName WHERE ID = @end_id
SELECT Col2,Col3
FROM tableName
WHERE SeqNum BETWEEN @StartingSeqNum AND @EndingSeqNum
当您使用 SSRS 时,您可以为参数指定 Value
和 Label
。
使用以下 SQL 作为源创建数据集:
select distinct ID as Label
,SequenceNum as Value
from YourTable
order by SequenceNum
然后在参数的属性中,Available Values
select Get values from query
然后 select 上面的数据集。将 Value field
和 Label field
设置为标签和值列,然后单击 OK
。您需要使用相同的数据集为开始和结束参数执行此操作。
您的参数现在将是向用户显示 ID
值的下拉菜单,但会将 SequenceNum
值传递给您的查询。然后您可以使用这些来过滤您的主要数据集。
ID | Col2 | Col3 | SequenceNum
--------------------------------
1 | x | 12 | 5
2 | y | 11 | 6
3 | a | 45 | 7
100 | b | 23 | 8
101 | a | 16 | 9
102 | b | 28 | 10
4 | a | 9 | 11
5 | b | 26 | 12
6 | x | 100 | 13
我现在有一份 SSRS 报告,您可以输入 ID
来查看这些 ID 的数据。例如假设你输入 start ID
2 end ID
5 它会返回 2,3,4,5 与 Col2
和 Col3
数据。
但我真正想要的是 return 2,3,100,101,102,3,4,5
我相信可能有某种方法可以交叉引用 SequenceNum
专栏,但我对 SQL 和 SSRS 还很陌生,有人可以帮忙吗?
因此用户将输入参数...
start-ID
= 2 其中 SequenceNum
为 6
end-ID
= 5 其中 SequenceNum
为 12
分别从起始 ID 和结束 ID 提供的值中提取起始和结束序列号,并在 WHERE 条件下使用它们,如下所示
DECLARE @StartingSeqNum INT, @EndingSeqNum
SELECT @StartingSeqNum = SeqNum FROM tableName WHERE ID = @start_id
SELECT @EndingSeqNum = SeqNum FROM tableName WHERE ID = @end_id
SELECT Col2,Col3
FROM tableName
WHERE SeqNum BETWEEN @StartingSeqNum AND @EndingSeqNum
当您使用 SSRS 时,您可以为参数指定 Value
和 Label
。
使用以下 SQL 作为源创建数据集:
select distinct ID as Label
,SequenceNum as Value
from YourTable
order by SequenceNum
然后在参数的属性中,Available Values
select Get values from query
然后 select 上面的数据集。将 Value field
和 Label field
设置为标签和值列,然后单击 OK
。您需要使用相同的数据集为开始和结束参数执行此操作。
您的参数现在将是向用户显示 ID
值的下拉菜单,但会将 SequenceNum
值传递给您的查询。然后您可以使用这些来过滤您的主要数据集。