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

SQL 2008,表AA中有列:日期,电话;表BB中有列:电话,姓名;要在表AA中新增列:姓名,当电话.AA=电话.BB,在表AA中赋值姓名(原表中改变)。该怎

2012-01-24 
SQL 2008,表AA中有列:日期,电话;表BB中有列:电话,姓名;要在表AA中新增列:姓名,当电话.AA电话.BB,在表AA中

SQL 2008,表AA中有列:日期,电话;表BB中有列:电话,姓名;要在表AA中新增列:姓名,当电话.AA=电话.BB,在表AA中赋值姓名(原表中改变)。
如题。
表AA有二列:
日期、电话
2011-05-20 13508740001  
2011-05-20 13388889999  
2011-05-21 13677774444  

表BB有二列:
电话 、姓名
13508740001 张三  
13388880000 李四  
13388800007 王二  
13388889999 赵六 

要求变成如下格式(当对应的电话没有相关姓名时,姓名为空。要求在原表中改变,而不是只显示查询结果,原表却没变,谢谢!)
日期、电话、姓名
2011-05-20 13508740001 张三
2011-05-20 13388889999 赵六
2011-05-21 13677774444  


测试数据如下:
create table AA(日期 varchar(10),电话 varchar(10))
insert into tb values('2011-05-20', '13508740001')
insert into tb values('2011-05-20', '13388889999')
insert into tb values('2011-05-21', '13677774444')

create table BB(电话 varchar(10),姓名 varchar(10))
insert into tb values('13508740001', '张三')
insert into tb values('13388880000', '李四')
insert into tb values('13388800007', '王二')
insert into tb values('13388889999', '赵六')

[解决办法]

SQL code
create table AA(日期 varchar(10),电话 varchar(20))insert into aa values('2011-05-20', '13508740001')insert into aa values('2011-05-20', '13388889999')insert into aa values('2011-05-21', '13677774444')create table BB(电话 varchar(20),姓名 varchar(20))insert into bb values('13508740001', '张三')insert into bb values('13388880000', '李四')insert into bb values('13388800007', '王二')insert into bb values('13388889999', '赵六')goalter table aa add 姓名 varchar(20) nullgoupdate aa set 姓名 = bb.姓名 from aa , bb where aa.电话 = bb.电话select * from aadrop table aa , bb/*日期         电话                   姓名                   ---------- -------------------- -------------------- 2011-05-20 13508740001          张三2011-05-20 13388889999          赵六2011-05-21 13677774444          NULL(所影响的行数为 3 行)*/ 

热点排行