sql数据库中的两个表的记录进行比较

来源:百度知道 编辑:UC知道 时间:2024/07/07 10:44:54
sql数据库中的两个表的记录进行比较!sql数据库中有A表和B表,字段结构相同,字段名称为1,2,3,4,5,6,7,8,9,10等11个字段。A,B表中的数据是有a,b,c字符组成,其中A表中的记录是由单个字符构成(即a,b,c),B表中的记录是由单个或双个或三个字符构成(如a,b,c,ab,bc,ac,abc)。现比较A,B表的记录,如果A表的数据包含在B表中,则视为相同,统计A,B表中的字段有几个相同,并将统计的结果写入A表新增加的字段中。
如A表
1 2 3 4 5 6 7 8 9 10
a c a b a b c c a b

B表
1 2 3 4 5 6 7 8 9 10
ab ab bc bc abc ab ab ac abc ab
得到的A表结果(共有7个字段相同)
1 2 3 4 5 6 7 8 9 10 11
a c a b a b c c a b 7
那位大侠能够写出sql执行语句啊,我这里只写两个记录,我的表有几万条记录要比较!谢谢了!
select N'ab',N'ab',N'bc',N'bc',N'abc',N'ab',N'ab',N'ac',N'abc',N'ab'
select N'ab',N'ab',N'bc',N'bc',N'abc',N'ab',N'ab',N'ac',N'abc',N'ab'
微软专家吴熹
能否解释一下上面的语句是什么意思,因为我要比较几万条记录,不会要这样每条都写入程序吧!
A表中有几万条记录,B表中有800条记录,A表中的每条

问题补充:

select N'ab',N'ab',N'bc',N'bc',N'abc',N'ab',N'ab',N'ac',N'abc',N'ab'
select N'ab',N'ab',N'bc',N'bc',N'abc',N'ab',N'ab',N'ac',N'abc',N'ab'
微软专家吴熹
能否解释一下上面的语句是什么意思,因为我要比较几万条记录,不会要这样每条都写入程序吧!
A表中有几万条记录,B表中有800条记录,A表中的每条记录和B表中的每条记录进行比较,A表的每条记录和B表800条记录比较后把比较结果写到A表记录新增的800条字段里进行存储。

---------------------------------
以上脚本是生成测试数据,加上N''--用生成nvarchar符号,有特殊字符时可加上。

两个表要通过主健关连 加上条件 where a.ID=b.ID,不加条件时,需要保证A表只有一条数据.

没主健时多对多关系会产生笛卡尔结果集

--> --> (Roy)生成测试数据

declare @A table([1] nvarchar(1),[2] nvarchar(1),[3] nvarchar(1),[4] nvarchar(1),[5] nvarchar(1),[6] nvarchar(1),[7] nvarchar(1),[8] nvarchar(1),[9] nvarchar(1),[10] nvarchar(1))
Insert @A
select N'a',N'c',N'a',N'b',N'a',N'