具有一个相同关键字段的两张结构不同的表,如何用SQL语句逐条比较并更新其中一张表有表AA、表BB两张表,两张表结构不同,但有一个关键字段"姓名"相同,每张表均有N条记录,表AA结构如下:姓
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/27 14:50:06
具有一个相同关键字段的两张结构不同的表,如何用SQL语句逐条比较并更新其中一张表有表AA、表BB两张表,两张表结构不同,但有一个关键字段"姓名"相同,每张表均有N条记录,表AA结构如下:姓
具有一个相同关键字段的两张结构不同的表,如何用SQL语句逐条比较并更新其中一张表
有表AA、表BB两张表,两张表结构不同,但有一个关键字段"姓名"相同,每张表均有N条记录,表AA结构如下:
姓名 AA.1 AA.2 AA.3 AA.4 AA.5
王彩缤 10 52 52 52 85
李鹏在 52 45 57 12 857
赵有有 74 44 41 25 27
.
表BB结构如下:
姓名 BB.1 BB.2 BB.3
王彩缤 10 52 52
李鹏在 52 45 57
由于业务需要,想实现如下操作:
逐条比对两张表的姓名,如果表BB里的姓名在表AA里也有,就更新AA..1=BB.1,否则AA.1=0
请问如何用SQL语句实现?
其中:表AA是ACCESSE表,表BB是EXCEL表
具有一个相同关键字段的两张结构不同的表,如何用SQL语句逐条比较并更新其中一张表有表AA、表BB两张表,两张表结构不同,但有一个关键字段"姓名"相同,每张表均有N条记录,表AA结构如下:姓
有两种方法
(1) Select * from AA,BB Where AA.姓名=BB.姓名
(2) Select * from AA JOIN BB on AA.姓名=BB.姓名
例:
dim Rs,Sql
Set Rs=Server.CreateObject("ADODB.Recordset")
Set Rs1=Server.CreateObject("ADODB.Recordset")
Sql="Select * from AA left join BB on AA.姓名=BB.姓名"
Rs.Open Sql,conn,1,3
if Rs.bof and Rs.eof then
Response.write("对不起,数据库中没有任何数据!")
else
do while not Rs.eof or err
Sql1="select * from AA where ID=" &Rs(0)
Rs1.Open sql1,conn,1,3
if Rs1.bof and Rs1.eof then
Response.write( Rs(0) & "不存在
")
else
Rs1("1")=Rs(6)'Rs(6) 6的下标为Rs中BB.1所在的位置;
'至于改成0的语句,你自己写吧.
Rs1.Update
end if
Rs1.close
rs.movenext
loop
end if
Rs.close