sql 表中的字符相加(100)

  • 主题发起人 主题发起人 shiguoxing
  • 开始时间 开始时间
S

shiguoxing

Unregistered / Unconfirmed
GUEST, unregistred user!
有一个表A姓名 科目张三 物理李四 化学张三 语文张三 数学李四 语文如何实现姓名 科目张三 物理/语文/数学李四 化学/语文
 
别浪费你的分,查看下面帖子http://www.delphibbs.com/delphibbs/dispq.asp?lid=3949512
 
其实 游标 或前台 也可以啊不用 游标的话也有不少写法 啊还可以 自己写 聚合函数下面是个 很另类的 写法declare @t table(u varchar(10), d varchar(10))insert into @tselect '张三', '物理' union allselect '李四', '化学' union allselect '张三', '语文' union allselect '张三', '数学' union allselect '李四', '语文'-------------------------------------------------------declare @t2 table(u varchar(10), d2 varchar(100))declare @i int insert into @t2select u,max(d) from @t group by uset @i=@@rowcountwhile @i>0 begin update a set a.d2=a.d2+'/'+b.d from @t2 a,@t b where a.u=b.u and a.d2 not like '%'+b.d+'%' set @i=@@rowcountendselect * from @t2/*---------- ---------------------------------------------------------------------------------------------------- 李四 语文/化学张三 语文/数学/物理*/
 
(*^__^*) 嘻嘻……俺是邪派的
 
表名为t3,字段XM(姓名),KM(科目),在查询分析器里执行CREATE FUNCTION dbo.JoinSTR(@XM nvarchar(10))RETURNS VARCHAR(1000)ASBEGIN DECLARE @s VARCHAR(1000) SELECT @s=ISNULL(@s+'/','') + KM FROM t3 WHERE XM = @XM RETURN @sENDGOSELECT DISTINCT XM 姓名,dbo.JoinSTR(XM) 科目 FROM t3Drop Function dbo.JoinSTR
 
http://www.itstudy.net/front/7/index.htm 有一些文章说这个的,你好好阅读一下
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部