回 帖 发 新 帖 刷新版面

主题:两个表之间的连接,菜鸟求助

有表A和B,其中A有1000条记录,B有800条,B中的记录与A中相同,但是B中多一个字段,现在想将B中该字段连接到A中去,请问如何操作能保持A表中其他完全不变,但能加上B中的那个字段!谢谢各位大侠了!

回复列表 (共8个回复)

沙发

各位大侠回了话吧,谢谢!

板凳

两表要有一个唯一的关键字进行关联。
select A表.*,B表.新字段 from A表 left join B表 on A表.关键字==B表.关键字 into table 新表

3 楼

ALTER TABLE 表A ADD COLUMN 新字段名 c(20)
UPDATE 表A SET 表A.新字段名=表B.多的字段名 FROM 表B WHERE A表.关键字==B表.关键字

4 楼

其中:
ALTER TABLE 表A ADD COLUMN 新字段名 c(20)
是添加一个新字段!

新字段名 c(20)
 c      要按,你的源字段的数据类型修改
(20)   括号中的数字,是字段的宽度!

5 楼

好象不对啊,大哥们再想想办法啊

6 楼

看来楼主是一窍不通。

7 楼

要解释下,最好对2个库用关键字建立索引,再来UPDA 。

8 楼

1)A表比B表记录多,所以连接后存在一个问题:多出来的部分怎么处理,有什么要求
      A)舍弃多余的记录,那么连接后剩下800条数据,和B表一样多,使用内连接即可
      B)保留多余的记录,那么,保留下来后,多出的字段没有数据可添加,是做成默认的.NULL.还是其他的默认值?
      C)假设B表因为某种原因,比如错误输入,出现了不存在于A表关键字的连接字段的值,比如A表关键字是1000~1999,B表出现了一个199,那么这部分的错误是否要处理?
         一)不要处理,那直接使用内连接即可
         二)需要处理,保留下来,保留下来以后面临和B)项一样的处理选择

楼主先把自己的需求弄清楚,否则后续处理中有很多很多细节,会导致结果和你的要求不一致。

我来回复

您尚未登录,请登录后再回复。点此登录或注册