我有一个有一列的表。如何编写T-SQL语句以将表中的所有行作为一行返回,但是为表中的每一行数据返回一列?
答案 0 :(得分:3)
答案 1 :(得分:1)
您可以通过构建动态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