Вы можете достичь того, чего ожидаете, используя динамический запрос, чтобы «сводить» столбцы к строкам, а затем вы можете использовать его в сгруппированном запросе для возврата без дубликатов.Вот код из вашего примера.Я заменил ваш запрос на ваши результаты, вставленные в таблицу, но вы можете использовать его для замены моей тестовой таблицы, чтобы протестировать ее в более разных результатах.
CREATE TABLE test
(
JobNumber int
,JobNAme varchar(25)
,DesignStatus varchar(25)
,ShopStatus varchar(25)
,Title varchar(25)
,Note varchar(50)
,Remove varchar(25)
)
GO
INSERT INTO test(JobNumber,JobNAme,DesignStatus,ShopStatus,Title,Note,Remove)
VALUES
(1234,'TestName','Correct','Inc','Title1','Note test design','Remove')
,(1234,'TestName','Correct','Inc','Title2','Note test proyect','Remove')
GO
DECLARE @cols AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX);
SET @cols = STUFF((SELECT distinct ',' + title + ': ' + Note + ' \n'
FROM test
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
set @query = 'WITH CTE AS
(
SELECT JobNumber,JobNAme,DesignStatus,ShopStatus,'''+@Cols+''' AS Note,Remove
FROM test
)
SELECT JobNumber,JobNAme,DesignStatus,ShopStatus,NOTE,Remove
FROM CTE
GROUP BY JobNumber,JobNAme,DesignStatus,ShopStatus,NOTE,Remove '
--PRINT @query
EXEC sp_executesql @query