1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| IF OBJECT_ID('tempdb..#ResultsAnalyseID') IS NOT NULL
DROP TABLE #ResultsAnalyseID
CREATE TABLE #ResultsAnalyseID (MinID INT, MaxID INT, AnalysedValue VARCHAR(50))
DECLARE @CurrentAnalyzedValue VARCHAR(50)
DECLARE @CurrentId INT
DECLARE @AnalyzedValue VARCHAR(50)
DECLARE @MinID INT
DECLARE @MaxID INT
SELECT @CurrentAnalyzedValue = ''
SELECT @CurrentId = -1
SELECT @AnalyzedValue = ''
SELECT @MinID = -1
SELECT @MaxID = -1
DECLARE C_AnalyseID CURSOR
FOR
SELECT AB.AccountBalanceID, CONVERT(VARCHAR(10), AB.DateSolde, 105)
FROM AccountBalance AB
ORDER BY AB.AccountBalanceID
OPEN C_AnalyseID
FETCH C_AnalyseID INTO @CurrentId, @CurrentAnalyzedValue
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @AnalyzedValue = @CurrentAnalyzedValue
SELECT @MinID = @CurrentId
WHILE @@FETCH_STATUS = 0 AND @AnalyzedValue = @CurrentAnalyzedValue
BEGIN
SELECT @MaxID = @CurrentId
FETCH C_AnalyseID INTO @CurrentId, @CurrentAnalyzedValue
END
INSERT INTO #ResultsAnalyseID VALUES (@MinID, @MaxID, @AnalyzedValue)
END
CLOSE C_AnalyseID
DEALLOCATE C_AnalyseID
SELECT * , MaxID - MinID + 1 as NbrItems FROM #ResultsAnalyseID |
Partager