如何加入百分比范围表和另一个表:

时间:2014-09-01 12:19:10

标签: sql sql-server tsql reporting-services

我写过小存储程序,它给出了以下结果

Exec  dbo.usp_CDB_Percentile_V2 @input =10

结果:

percentile_Number   range1  Range2
1               1%  10%
2               11% 20%
3               21% 30%
4               31% 40%
5               41% 50%
6               51% 60%
7               61% 70%
8               71% 80%
9               81% 90%
10              91% 100%

另一个临时表有N个没有行重新包含:

Person_Code       No'of contacts         Percentile(%)
AAA1                44                     35.77
AAA2                88                     71.5

AA3                 123                     100%

我正在尝试创建一个仪表板,以便如何使用T-SQL代码加入这两个表... 能否请你告诉我我会感谢你。提前谢谢。

2 个答案:

答案 0 :(得分:0)

我会让SP只返回一个浮点数而不是百分比。我会在我的视图中添加百分比符号。

然后很容易将结果与表格结合起来:

DECLARE @Ranges AS Table(percentile_Number INT, range1 FLOAT, range2 FLOAT)
INSERT INTO @Ranges
Exec dbo.usp_CDB_Percentile_V2 @input =10

SELECT *
FROM   Persons P
       JOIN @Ranges R ON P.Percentile BETWEEN R.range1 AND R.range2

答案 1 :(得分:0)

如果我理解正确,您可能根本不需要存储过程。检查NTILE()函数:

http://msdn.microsoft.com/en-us/library/ms175126.aspx

至少它与存储过程相同。