我有一个表里一个字段为:op_sort类型为varchar型,值为'00101','00102','00103',如下我可以查询出:select op_sort from check where id=1
执行后得到:op_sort
'00101','00102','00103'在执行另一语句为:
select name,code from sort_type
得到结果为:
name code
水 00101
油 00102
盐 00103与是我想这二个表结合得到一条记录的结果(就是显示第一个结果的编码的名称):
sort_name
'水','油','盐'
这种语句怎么写啊?请教大家!谢谢!
执行后得到:op_sort
'00101','00102','00103'在执行另一语句为:
select name,code from sort_type
得到结果为:
name code
水 00101
油 00102
盐 00103与是我想这二个表结合得到一条记录的结果(就是显示第一个结果的编码的名称):
sort_name
'水','油','盐'
这种语句怎么写啊?请教大家!谢谢!
returns varchar(8000)
as
begin
declare @str varchar(8000)
select @str=''
select @str=@str+','+name from sort_type where charindex(','+code+',',','+@op_sort+',')>0
select @str=stuff(@str,1,1,'')
return @str
end
go
select dbo.f(op_sort) from check where id=1
create table [check](id int,op_sort varchar(1000))
insert [check]
select 1,'''00101'',''00102'',''00103'''
go
create table sort_type (name varchar(10), code varchar(10))
insert sort_type
select '水','00101'
union select '油','00102'
union select '盐','00103'
gocreate function f(@op_sort varchar(8000))
returns varchar(8000)
as
begin
declare @str varchar(8000)
select @str=''
select @str=@str+','+name from sort_type where charindex(','''+code+''',',','+@op_sort+',')>0
select @str=stuff(@str,1,1,'')
return @str
end
go
select dbo.f(op_sort) from [check] where id=1 drop table [check],sort_type
drop function f