tsql order by与xml路径不同
我有一个查询,稍后将用于执行动态透视。我想在执行distinct之前对这个查询进行排序。我怎样才能做到这一点?每当我点这个菜时,它就完全打破了界限tsql order by与xml路径不同,tsql,stored-procedures,pivot,sql-order-by,distinct,Tsql,Stored Procedures,Pivot,Sql Order By,Distinct,我有一个查询,稍后将用于执行动态透视。我想在执行distinct之前对这个查询进行排序。我怎样才能做到这一点?每当我点这个菜时,它就完全打破了界限 DECLARE @cols NVARCHAR(max); SET @cols = STUFF ( (SELECT distinct ',' + c.[PivotColumnTitle] FROM [myTable] c WHERE c.Id = @idInput AND c.IsPivo
DECLARE @cols NVARCHAR(max);
SET @cols = STUFF
(
(SELECT distinct ',' + c.[PivotColumnTitle]
FROM [myTable] c
WHERE c.Id = @idInput
AND c.IsPivotVisible = 1
--order by c.PivotColumnOrder
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,''
)
试试这个:
DECLARE @cols NVARCHAR(max);
SET @cols = STUFF
(
(
SELECT ',' + c.[PivotColumnTitle]
FROM [myTable] c
WHERE c.Id = @idInput
AND c.IsPivotVisible = 1
GROUP BY c.[PivotColumnTitle]
order by MAX(c.PivotColumnOrder)
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,''
)