declare @sql varchar(1000)
set @sql=''
select @sql=@sql+','+房号 from 房间
set @sql=stuff(@sql,1,1,'')exec('select '+@sql+' from 表 group by 楼层')
set @sql=''
select @sql=@sql+','+房号 from 房间
set @sql=stuff(@sql,1,1,'')exec('select '+@sql+' from 表 group by 楼层')
解决方案 »
- 重复性问题,select distinct选择多列
- 同一个用户同时操作同一个存储过程,这样会有问题吗?
- 怎么在树形上面加小图片啊?
- 急!存储过程的问题
- 从数据库中取出产品数量和产品ID,怎么能通过一条语句把数据更新到库存表。进入看详细。。。
- 一个access数据库建立起来预计能达到1G左右的存储容量,这么大的数据库在今后的使用中会发生意外吗?
- 帮忙看看撒
- 谁能帮我把SQL2005生成的sql语法,转换成SQL2000的语法?
- 如何解决超时已过期的问题
- 在sqlserver2000中,怎样实现分页查询?
- 可不可以限制 SQL 使用 CPU 的最大值???在线等!
- 已经用odbc创建student数据源,请问为什么报错 '80004005' 啊?
Create table 房间
(房号 Varchar(10),
楼层 Int)
--插入数据
Insert 房间 Values('101', 1)
Insert 房间 Values('102', 1)
Insert 房间 Values('103', 1)
Insert 房间 Values('202', 2)
Insert 房间 Values('303', 3)
GO
--建立函数
Create Function Get(@Floor Int)
Returns Varchar(1000)
AS
Begin
Declare @S Varchar(1000)
Set @S=''
Select @S=@S+房号+' ' from 房间 Where 楼层=@Floor Order By 房号
Return Rtrim(@S)
End
GO
--测试
Select 楼层,dbo.Get(楼层) As 房号 from 房间 Group By 楼层 Order By 楼层
--删除测试环境
Drop Table 房间
Drop Function Get
--结果
/*
楼层 房号
1 101 102 103
2 202
3 303
*/