--Dummy table
create table table1 (
column_order varchar (100)
)
insert into table1 values ('column1')
insert into table1 values ('column2')
insert into table1 values ('column3')
insert into table1 values ('column4')
insert into table1 values ('column5')
insert into table1 values ('column6')
--Start of select
declare @rowsCount INT
declare @i INT = 1
declare @column varchar(1000) = ''
set @rowsCount = (select COUNT(*) from table1)
while @i <= @rowsCount
begin
set @column = @column + (select column_order from table1 where rowid(table1) = @i) + ', '
set @i = @i + 1
end
select @column
此代码具有功能 ROWID,即 IQ-Sybase 功能,我不确定其他 DBMS 可以使用它。在上面你有一个例子,我希望我的选择看起来像什么。
我的问题是,您不能将 ROWID 函数与 sys.column 或任何其他 systables 一起使用。有谁知道如何在不使用 ROWID 函数的情况下获得与我相同的选择。
如果您使用的是 IQ,我构建了代码,因此您只需键入 f5 并查看 select 语句,然后删除虚拟表。