通过合并 table 中的记录打印结果

Print result by merging records in a table

我有一个 table,名称为“PrintWord”,列名称为 col_letter,数据在如下:

"col_letter"
S
A
C
H
I
N

我想将此 table 中的 o/p 打印为:

SACHIN

谢谢!

有一个硬编码版本:

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 子句来保证字母的顺序。

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