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', '赵六')
[解决办法]
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 行)*/