MSSQL:declare @BBB varchar(20)
set @BBB = ''
select @BBB = @BBB + ',' + BBB from TableName where AAA = 'w'
select AAA,substring(@BBB,2,len(@BBB)) BBB from TableName where AAA = 'w'
/***************************************************/
天空中没有留下痕迹,
但我的心已飞过.
/***************************************************/
这句不是很懂,能不能讲讲,或者简单点,谢谢啦!
弱水兄:可否知道CRYSTAL REPORT何处有down?Hoozi:
你将语句运行一下不就明白了?
若只有一个值,上面的方法可以实现,不止一个的话就这样:
declare @str as varchar(8000)
select aaa, min(bbb) as bbb into #temp from mytable group by aaa
declare @aaa as varchar(10)
declare abc cursor for select aaa from mytable
open abc
FETCH NEXT FROM abc INTO @aaa
WHILE @@FETCH_STATUS = 0
BEGIN select @str=''
select @str=@str+','+rtrim(bbb) from mytable where aaa=@aaa
update #temp set bbb=right(@str,len(@str)-1) where aaa=@aaa FETCH NEXT FROM abc INTO @aaaend
CLOSE abc
DEALLOCATE abc
select * from #temp
drop table #temp
网站上应该有的. 几年前我用CRYSTAL REPORT比较多,现在改用BRIO了
按钮,你的cursor有误.
没有按AAA分组.
我试过结果是对的啊?
select aaa, min(bbb) as bbb into #temp from mytable group by aaa
declare @aaa as varchar(10)
declare abc cursor for select aaa from mytable -- 應該為declare abc cursor for select aaa from mytable group by aaa或者select distinct aaa from mytable否則效率會低N倍 ~~~open abc
FETCH NEXT FROM abc INTO @aaa
WHILE @@FETCH_STATUS = 0
BEGIN select @str=''
select @str=@str+','+rtrim(bbb) from mytable where aaa=@aaa
update #temp set bbb=right(@str,len(@str)-1) where aaa=@aaa FETCH NEXT FROM abc INTO @aaaend
CLOSE abc
DEALLOCATE abc
select * from #temp
drop table #temp