请问如何对比A/B两表(两表大多数字段名相同),比较之后将B表没有而A表有的记录,取某几个字段来写入C表? ( 积分: 50 )

  • 主题发起人 主题发起人 340340
  • 开始时间 开始时间
3

340340

Unregistered / Unconfirmed
GUEST, unregistred user!
请问如何对比A/B两表(两表大多数字段名相同),比较之后将B表没有而A表有的记录,取某几个字段来写入C表?比如
A表字段名
ID Name ……其它字段…… 日期
1 李某 …… 2055-11-21
2 王某 …… 2005-11-21
3 赵某 …… 2005-10-21
B表字段名
ID Name ……其它字段…… 日期
1 李某 …… 2005-11-21
2 王某 …… 2005-11-21
C表字段名(要实现的)
ID Name ……其他字段…… 欠费时间
3 赵某 …… 1个月
请问该如何做才能实现这个功能?(分不够了,只有这么点,还望大虾们热心帮助啊,谢谢。
 
请问如何对比A/B两表(两表大多数字段名相同),比较之后将B表没有而A表有的记录,取某几个字段来写入C表?比如
A表字段名
ID Name ……其它字段…… 日期
1 李某 …… 2055-11-21
2 王某 …… 2005-11-21
3 赵某 …… 2005-10-21
B表字段名
ID Name ……其它字段…… 日期
1 李某 …… 2005-11-21
2 王某 …… 2005-11-21
C表字段名(要实现的)
ID Name ……其他字段…… 欠费时间
3 赵某 …… 1个月
请问该如何做才能实现这个功能?(分不够了,只有这么点,还望大虾们热心帮助啊,谢谢。
 
你這是表字段名的比較,要用到數據庫系統表來處理這個就行。
 
写个存储程序,
定义一个变量,
从sysobject(好像是这个名字)系统表中分别得到A、B表有些什么字段,
把相差的字段合并成一条sql语句,
然后,用 exec(),执行并返回
 
select * into c表 from A表 where name not in (select B表.name from 表B)
union
select * from B表 where name not in (select A表.name from 表A)
前提二個表裡所有的字段要一樣才行
測試通過~
 
。。。我是要对比两表中不同的记录,若B表无而A表有则取出比较之后A表中多的那条记录,再取该记录中某几项字段写入C表中。。
比如我取A表中记录就以ID号来就行了啊,3个表都有的。。。不是很明白你的意思……
 
to 漂流的云:
A、B表中的某几个字段不一样。。。大部分一样……
 
顶起来,请大虾帮忙...谢谢
 
自己解决了要咋个收分?郁闷。。。。。。
体谅跟我一样的菜鸟,把我的作法搞出来:)
select id,name from (SELECT * FROM a WHERE id not IN (SELECT id FROM b)) as a
 
這樣可能實現你的結果??
C表字段名(要实现的)
ID Name ……其他字段…… 欠费时间
3 赵某 …… 1个月
看SQL語句好像只是查詢出來ID NAME二個字段啊
 
此处我只是示例取了两个字段,同样的办法可以取自己想要的其它在a表中的字段,如果要取在b表中的改改语句就行了.
 
好了,结了.分还是分给热心的朋友.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
605
import
I
I
回复
0
查看
680
import
I
后退
顶部