分解字符串包含的信息值后然后合并到另外一表的信息

--------------------------------------------------------------------------

--  Author : htl258(Tony)

--  Date   : 2010-04-26 14:38:22

--  Version:Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86)

--          Jul  9 2008 14:43:34

--          Copyright (c) 1988-2008 Microsoft Corporation

--          Developer Edition on Windows NT 5.1 <X86> (Build 2600: Service Pack 3)

--  Blog   : http://blog.csdn.net/htl258

--  Subject:分解字符串包含的信息值后然后合并到另外一表的信息

--------------------------------------------------------------------------

/*问题描述

表Library有字段         表EmployeeInfo  字段
LibraryId                         EmpId
EmpId
LibraryTitle
LibraryOwner                      Name

测试表Library数据为
insert into Library(EmpId,LibraryTitle,Name) values('001','规章制度','001'
)
insert into Library(EmpId,LibraryTitle,Name) values('001','公共信息','001,002,003'
)
测试表EmployeeInfo  数据为
insert into EmployeeInfo  (EmpId,Name) values('001','小王'
)
insert into EmployeeInfo  (EmpId,Name) values('002','
小陈)
insert into EmployeeInfo  (EmpId,Name) values('003','小张'
)

有什么办法能在前台显示的时候显示为
EmpId  LibraryTitle   Name
001    规章制度       小王
001    公共信息       小王,小陈,小张

*/

 

create table Library(EmpId varchar(10),LibraryTitle varchar(10),Name varchar(30))

insert into Library(EmpId,LibraryTitle,Name)

    values('001','规章制度','001')

insert into Library(EmpId,LibraryTitle,Name)

    values('001','公共信息','001,002,003')

create table EmployeeInfo(EmpId varchar(10),Name varchar(10))

insert into EmployeeInfo  (EmpId,Name) values('001','小王')

insert into EmployeeInfo  (EmpId,Name) values('002','小陈')

insert into EmployeeInfo  (EmpId,Name) values('003','小张')

go

 

create function fn_tonytest(@name varchar(100))

returns varchar(100)

as

begin

    select @name=replace(@name,EmpId,name) from EmployeeInfo

    return @name

end

go

 

select EmpId,LibraryTitle,dbo.fn_tonytest(Name) Name 

from Library

/*

EmpId  LibraryTitle  Name

001 规章制度 小王

001 公共信息 小王,小陈,小张

*/

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值