我的表格名称为" PrintWord" ,列名称为 col_letter ,其中的数据如下:
"col_letter"
S
A
C
H
I
N
我想将此表中的o / p打印为:
SACHIN
谢谢!
答案 0 :(得分:2)
DECLARE @t table
(
Name varchar(10)
)
INSERT INTO @t
SELECT 's' UNION ALL
SELECT 'a' UNION ALL
SELECT 'c' UNION ALL
SELECT 'h' UNION ALL
SELECT 'i' UNION ALL
SELECT 'n'
SELECT DISTINCT
stuff(
(
SELECT ' '+ [Name] FROM @t FOR XML PATH('')
),1,1,'')
FROM (SELECT DISTINCT Name FROM @t ) t
答案 1 :(得分:1)
有一个硬编码版本:
SELECT col_letter
FROM PrintWord
ORDER BY
CASE col_letter
WHEN 'S' THEN 1
WHEN 'A' THEN 2
WHEN 'C' THEN 3
WHEN 'H' THEN 4
WHEN 'I' THEN 5
WHEN 'N' THEN 6
END
FOR XML PATH('')
您需要ORDER BY
子句来保证字母的顺序。