create function getstr(@a varchar(10),@b int)
returns varchar(2000)
as
begin
declare @str varchar(2000)
set @str=''
select @str=@str+','+rtrim(itm) from a where mdl=@a and position=@b and seq<>1
select @str=right(@str,len(@str)-1) where @str<>''
return @str
end
go--调用:
select itm,mdl,position,seq,dbo.getstr(mdl,position) 辅料 from 表 where seq=1
returns varchar(2000)
as
begin
declare @str varchar(2000)
set @str=''
select @str=@str+','+rtrim(itm) from a where mdl=@a and position=@b and seq<>1
select @str=right(@str,len(@str)-1) where @str<>''
return @str
end
go--调用:
select itm,mdl,position,seq,dbo.getstr(mdl,position) 辅料 from 表 where seq=1
解决方案 »
- 关于数据库的问题了
- 菜鸟问题,SQL2000合并数据
- 比较有挑战性的SQL语句,我用游标完成,但是效果不理想,看看哪位高手能用一个SQL语句或者更简单的方法来完成
- DTS包中VB脚本的FileExists方法可以正确判断一个网络文件是否存在,但是做成作业就判断不了了!!!
- 如何在数据库中定时搜集数据,比如每天晚上两点钟搜集一些数据,并生成相应的Excel文件。
- 报表中要把相同的记录排成一列要怎么做
- 连表删除 sql语句疑问
- sql server 2005 数据导出中奇怪的问题
- 为什么连接SQL server的时候选择windows身份验证可以,用SQL Server身份验证就不行呢?
- 找扁
- 数据库中处理上传文件的问题!
- 请问高手,如果设置一个标识字段,它的标识种子和增量在SQLServer的系统表中是存放在哪里的?
returns varchar(2000)
as
begin
declare @str varchar(2000)
set @str=''
select @str=@str+','+rtrim(itm) from 你的表 where mdl=@a and position=@b and seq<>1
select @str=right(@str,len(@str)-1) where @str<>''
return @str
end
go--调用:
select itm,mdl,position,seq,dbo.getstr(mdl,position) 辅料 from 你的表 where seq=1