日期:2014-05-19  浏览次数:20452 次

求一简单查询语句,谢谢
表a1,

code       name       sort_code
1             张三       123
2             李四       12
3             王胖       1234


表a2
a2_code           a2_pic
1                       ★
2                       ▲
3                       ▽
4                       *


请问查询张三的记录时能否得到类似于下面的这张表


code       name       sort_code     a2_pic
1             张三       123                 ★▲▽


谢谢,分不多,可再加



------解决方案--------------------
alter table a1 add picture varchar(200)
update a1 set picture=picture+a2.a2_pic from a1,a2 where charindex(a2.a2_code,a1.sort_code) > 0
select * from a1
------解决方案--------------------


---创建环境:

create table a1(code int,name varchar(20),sort_code varchar(20))
insert into a1(code,name,sort_code)
select 1, '张三 ', '123 '
union all
select 2, '李四 ', '12 '
union all
select 3, '王胖 ', '1234 '

select * from a1

/*
code name sort_code
-----------------------------------
1 张三 123
2 李四 12
3 王胖 1234

*/


create table a2(a2_code int,a2_pic varchar(20))
insert into a2(a2_code, a2_pic)
select 1, '★ '
union all
select 2, '▲ '
union all
select 3, '▽ '
union all
select 4, '* '

select * from a2
/*

a2_code a2_pic
-------------------------------------
1 ★
2 ▲
3 ▽
4 *
*/

--创建一个函数:f_str_rep

alter function f_str_rep(@str varchar(20))
returns varchar(20)
as
begin
declare @exec varchar(200)
set @exec=@str
set @exec=replace(@exec, '1 ', '★ ')
set @exec=replace(@exec, '2 ', '▲ ')
set @exec=replace(@exec, '3 ', '▽ ')
set @exec=replace(@exec, '4 ', '1 ')
return (@exec)
end


select *,dbo.f_str_rep(sort_code ) as a2_pic from a1

/*
code name sort_code a2_pic
----------------------------
1 张三 123 ★▲▽
2 李四 12 ★▲
3 王胖 1234 ★▲▽1
*/

drop table a1
drop table a2
------解决方案--------------------
drop table a1

建表:

create table a1(code int,name varchar(20),sort_code varchar(20))
insert into a1(code,name,sort_code)
select 1, '张三 ', '123 '
union all
select 2, '李四 ', '12 '
union all
select 3, '王胖 ', '1234 '

select * from a1

/*
code name sort_code
-----------------------------------
1 张三 123
2 李四 12
3 王胖 1234