Sql server tsql将值放入单行
这是我的问题: 给定插入游标的select语句的结果, 如何将这些值放在一行中 举个例子Sql server tsql将值放入单行,sql-server,tsql,row,Sql Server,Tsql,Row,这是我的问题: 给定插入游标的select语句的结果, 如何将这些值放在一行中 举个例子 a b c 如何实现a、b、c?将光标的结果插入临时表。下面是我的示例,但您必须用光标替换它 SELECT 'a' AS [Col1] INTO #Table1 INSERT INTO #Table1 SELECT 'b' INSERT INTO #Table1 SELECT 'c' INSERT INTO #Table1 SELECT 'd' 创建动态轴以显示结果 DECLARE @cols
a
b
c
如何实现a、b、c?将光标的结果插入临时表。下面是我的示例,但您必须用光标替换它
SELECT 'a' AS [Col1]
INTO #Table1
INSERT INTO #Table1
SELECT 'b'
INSERT INTO #Table1
SELECT 'c'
INSERT INTO #Table1
SELECT 'd'
创建动态轴以显示结果
DECLARE @cols AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX);
SET @cols = STUFF
(
(
SELECT DISTINCT ',' + QUOTENAME(c.[Col1])
FROM #Table1 c
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,''
)
SET @query = 'SELECT ' + @cols + ' FROM
(
SELECT [Col1]
FROM #Table1
) x
PIVOT
(
MAX([Col1])
FOR [Col1] IN(' + @cols + ')
) p '
EXECUTE(@query)
放下临时表
DROP TABLE #Table1
简单地说:
SUBSTRING((SELECT DISTINCT ',' + [ColumnName] FROM TableName FOR XML PATH('')),2,4000)
你的第一个问题应该是“我需要使用光标吗?”