首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

求1SQL!

2012-08-13 
求一SQL!!!假设有表ta 和 tb,建表和初始化语句如下:create table ta (name varchar2(100),desci varchar2(

求一SQL!!!

假设有表ta 和 tb,建表和初始化语句如下:
create table ta (name varchar2(100),desci varchar2(100));
create table tb (name varchar2(100),desci varchar2(100));

insert into ta values('nameaa','i am aa');
insert into ta values('nameaa','i am aa2');

insert into tb values('namebb','i am bb');
insert into tb values('nameaa','i am bb,the new descri');

然后需求如下:
我想要更新ta中的desci字段,在原有内容的基础上追加当tb中的name和ta相同时的desci字段。
举例:tb中有一记录name为:nameaa,它的desci为:i am bb,the new descri,这时把ta中所有name为:nameaa的desci追加:
i am bb,the new descri。
最终想要的ta的结果是:
------------------------------------------
name | desci
------------------------------------------
nameaa | i am aa i am bb,the new descri
------------------------------------------
nameaa | i am aa2 i am bb,the new descri
-------------------------------------------

求大家指点!谢谢!


[解决办法]
update ta a set a.desci = a.desci||(select b.desci from tb b where a.name = b.name)
where exists (select 1 from tb b where a.name =b.name)

热点排行