I am trying to have my results be in ranges (e: xx - xx) instead of having each number listed (ex: XX, XX, XX, XX)
This is the table I used for my example
TABLE
Doc Pages
ABC 1
ABC 2
ABC 3
ABC 4
ABC 5
ABC 6
ABC 7
TEST 30
TEST 31
TEST 35
TEST 36
TEST 37
TEST 38
TEST 39
TEST 41
EFG 50
EFG 51
EFG 52
EFG 55
This is the function I used to get my results
FUNCTION
CREATE FUNCTION [dbo].[GetPagebyDoc]
(
@Doc varchar(50)
)
RETURNS varchar(max)
AS
BEGIN
declare @output varchar(max)
select @output = COALESCE(@output + ', ',' ') + pages
from TABLE
where doc = @doc
return @output
END
GO
SELECT doc, dbo.GetPagebyDoc(doc)
FROM TABLE
GROUP BY doc
GO
This is my results from the function
RESULTS
Doc Pages
ABC 1, 2, 3, 4, 5, 6, 7
TEST 30, 31, 35, 36, 37, 38, 39, 41
EFG 50, 51, 52, 55
I need help to get my results to look like this.
I WOULD LIKE MY RESULTS TO BE
Doc Pages
ABC 1 - 7
TEST 30 - 31, 35 - 39, 41
EFG 50 - 52, 55