【发布时间】:2011-03-03 06:08:15
【问题描述】:
我有一张只有一列的表格。如何编写 T-SQL 语句将表中的所有行作为一行返回,但表中的每一行数据为一列?
【问题讨论】:
标签: sql sql-server tsql
我有一张只有一列的表格。如何编写 T-SQL 语句将表中的所有行作为一行返回,但表中的每一行数据为一列?
【问题讨论】:
标签: sql sql-server tsql
【讨论】:
您可以通过构建动态 sql 语句来做到这一点。
-- Test data
declare @T table (F varchar(10))
insert into @T values
('Row 1'),
('Row 2'),
('Row 3'),
('Row 4'),
('Row 5')
-- String to hold dynamic sql
declare @S as varchar(max)
set @S = 'select '
--Build string
select @S = @S + quotename(F, '''') + ','
from @T
set @S = left(@S, len(@s)-1)
--Execute sql
exec (@S)
结果
----- ----- ----- ----- -----
Row 1 Row 2 Row 3 Row 4 Row 5
【讨论】: