how can you sort data in sql for each column ??
for example C1 column have value in first row as 'CAB' and you want in output as 'ABC'
Input
C1
CAB
ZSA
Output
C1
ABC
ASZ
how can you sort data in sql for each column ??
for example C1 column have value in first row as 'CAB' and you want in output as 'ABC'
Input
C1
CAB
ZSA
Output
C1
ABC
ASZ
You could try this logic, maybe there is a better solution, but it does the job
DECLARE @t TABLE (Id INT, C1 VARCHAR(255))
INSERT INTO @t VALUES (1, 'CAB'),(2, 'ZSA')
;WITH mcte AS (
SELECT split.Id, split.C1, split.c, ASCII(split.c) AS asciinr
FROM (
SELECT a.Id, a.C1, SUBSTRING(a.C1, v.number+1, 1) AS c
FROM @t AS a
join master..spt_values v on v.number < LEN(a.C1)
WHERE v.type = 'P'
) AS split
)
SELECT Id, c1, REPLACE(STUFF((SELECT ' ' + mcte2.c FROM mcte AS mcte2
WHERE mcte2.C1 = mcte.C1 and mcte2.Id = mcte.Id
ORDER BY mcte2.asciinr FOR XML PATH('') ), 1, 1, ''), ' ', '') as OrderedC1
FROM mcte
GROUP BY Id, c1
ORDER BY mcte.C1
Result
Id C1 OrderderC1
-------------------
1 CAB ABC
2 ZSA ASZ