我认为比较难的问题,高手帮忙

lzp0683 2005-11-29 09:37:40
有两个表,表! 字段 品种代码 单位
记录 A BB
A CC
A DD
A EE
B BB
B CC
现在我要把表1中的记录以如下方式更新表2中相应的品种代码,最终结果如下:
表2 字段 品种代码 单位
记录 A BB,CC,DD,EE
B BB,CC
这个结果怎么实现 ?
...全文
64 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
点点星灯 2005-11-29
  • 打赏
  • 举报
回复
刚刚写的,一模一样的问题。
http://community.csdn.net/Expert/topic/4426/4426974.xml?temp=.2598078
点点星灯 2005-11-29
  • 打赏
  • 举报
回复
我的问题是有一张表 如左 userid title
2 仍然
2 围绕台
2 饿热
5 统一体眼
6 由于
我要用存储过程把 userid 为2的 title 付给一个变量 就是说把3个title 付个一个变量

用datagrid绑定显示为
用户ID TITLE个数 详情
2 3 仍然,围绕台, 饿热
5 1 统一体眼
6 1 由于
不用游标 请问大虾怎么实现


create table tab(userid int,title varchar(50))
go

insert tab values(2,'仍然')
insert tab values(2,'围绕台')
insert tab values(2,'饿热')
insert tab values(5,'统一体眼')
insert tab values(6,'由于')
go
--合并处理函数,用用户定义函数
CREATE FUNCTION dbo.f_str(@col1 varchar(10))
RETURNS varchar(100)
AS
BEGIN
DECLARE @re varchar(100)
SET @re=''
SELECT @re=@re+','+title
FROM tab
WHERE userid=@col1
RETURN(STUFF(@re,1,1,''))
END
GO

select userid,[TITLE个数]=count(userid),[详情]=dbo.f_str(userid) from tab group by userid
go
--删除测试
DROP TABLE tab
DROP FUNCTION f_str
go

/*
userid TITLE个数 详情


----------- ----------- ----------------------------------------------------------------------------------------------------
2 3 仍然,围绕台,饿热
5 1 统一体眼
6 1 由于

(所影响的行数为 3 行)
*/

22,206

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧