通过合并 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
我有一个 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