谁给个游标的列子:
1444 1日
1472 1日
1472 2日
1716 1日
1816 1日
想要的结果是把第一列相同的第二列字符串连接在一起
本人刚接触游标,哪里有好的游标的教程能否推荐一个?
------解决方案--------------------
楼主的这个需求不需要游标,方法参考:http://blog.csdn.net/htl258/archive/2009/03/15/3993029.aspx
游标相应实例与用法参考:http://blog.csdn.net/htl258/category/582965.aspx
------解决方案--------------------
- SQL code
--不用游标create table test1(equimentid int,errocode varchar(10))insert into test1(equimentid,errocode) values(1,'123')insert into test1(equimentid,errocode) values(1,'43')insert into test1(equimentid,errocode) values(1,'567')insert into test1(equimentid,errocode) values(2,'123')insert into test1(equimentid,errocode) values(2,'563')insert into test1(equimentid,errocode) values(3,'63')create function fn_showstring(@id int)returns varchar(100)asbegin declare @sql varchar(100) set @sql='' select @[email protected]+errocode+',' from test1 where [email protected] return @sqlendselect equimentid,dbo.fn_showstring(equimentid) errorcode from test1 group by equimentid
------解决方案--------------------
游标使用的例子,供参考:
- SQL code
--> 构造测试数据declare @tb table(pname varchar(50))insert @tb select '电视机' union allselect '电冰箱' union allselect '洗衣机' union allselect '空调' union allselect '微波炉'--> 游标的使用declare my_cursor cursor scroll dynamicforselect pname from @tbopen my_cursordeclare @pname sysnamefetch next from my_cursor into @pnamewhile(@@fetch_status=0) begin print 'Product Name: ' + @pname fetch next from my_cursor into @pname endfetch first from my_cursor into @pnameclose my_cursordeallocate my_cursor--> 结果/**Product Name: 电视机Product Name: 电冰箱Product Name: 洗衣机Product Name: 空调Product Name: 微波炉**/
------解决方案--------------------
- SQL code
IF OBJECT_ID('tempdb..#temp', 'u') IS NOT NULL DROP TABLE #tempGOCREATE TABLE #temp( id INT, [date] NVARCHAR(10))INSERT #tempselect '1444', N'1日' union allselect '1472', N'1日' union allselect '1472', N'2日' union allselect '1716', N'1日' union allselect '1816', N'1日'GO--SQL:SELECT id, [date]=STUFF((SELECT ','+[date] FROM #temp WHERE id=t.id FOR XML PATH('')),1,1,'')FROM #temp tGROUP BY id--RESULT:/*id date1444 1日1472 1日,2日1716 1日1816 1日*/