2014-09-01 35 views
1

我已經寫了小存儲過程它的下面給出結果如何加入百分比範圍表與另一個表:

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個無行的reuslts是:

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

AA3     123      100% 

我想創建一個儀表板,那麼如何使用T-SQL代碼連接這兩個表... 你能否給我建議我會幫你。提前致謝。

+0

你爲什麼要編寫一個存儲過程來完成SQL Server已經做過的事情('ntile()'和'percentile_rank()')?其次,如果你想自己寫,爲什麼不使用表值函數而不是存儲過程? – 2014-09-01 12:33:52

回答

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 
相關問題