如A表
NO 1 2 3 4 5 6 7 8 9 10
1 a c a b a b c c a b
2 a c a b a b c c a b
3 a c a b a b c c a b
4 a c a b a b c c a b
..........
10000
B表
NO 1 2 3 4 5 6 7 8 9 10
1 ab ab bc bc abc ab ab ac abc ab
2 ab ab bc bc abc ab ab ac abc ab
3 ab ab bc bc abc ab ab ac abc ab
4 ab ab bc bc abc ab ab ac abc ab
.......
800
得到的A表结果(共有7个字段相同)
NO 1 2 3 4 5 6 7 8 9 10 11 12 13 14...810
1 a c a b a b c c a b 7 7 7 7 ...
2 a c a b a b c c a b 7 7 7 7 ...
3 a c a b a b c c a b 7 7 7 7 ...
4 a c a b a b c c a b 7 7 7 7 ...
.......
10000
A表有1万条记录,B表中有800条记录,A表中的每条记录和B表中的每条记录进行比较,A表的每条记录和B表800条记录比较后把比较结果写到A表记录新增的800条字段里进行存储。
在这里我只是举例,所以用了相同的数据。看一看哪位大侠能够写出SQL程序!谢谢!
8 个解决方案
#1
#2
看得有点晕....
#3
帮顶。
#4
呵呵,是我写得不够清楚么,那我重举例,不用相同的数据!应该就清楚了!
sql数据库中的两个表的记录进行比较!sql数据库中有A表和B表,字段结构相同,字段名称为NO,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表的每条记录要和B表的每条记录进行比较,假设A表的第一条记录和B表的所有的800条记录进行比较,即得出800个结果,得出的结果写入A表第一条记录的后面,包括原来A表的11个字段加上得出的结果共有11+800=811个字段了。A表的其他记录如此依次和B表的记录进行比较,就可以得出最终的结果!
或者换一种方式,即A表的所有记录依次和B表的第一条记录开始比较,就得到一个字段(字段11)的结果,写入A表中。然后在和B表的第二条记录开始比较,得到字段12的结果,写入A表中,如此类推,直到和B表的最后一条记录比较完成,得到最后一个字段811。
如A表
NO 1 2 3 4 5 6 7 8 9 10
1 a c b b c a c c b a
2 b a b c b b a b c a
3 a c a b c b b c a c
4 c c a b a b c a c b
..........
10000
B表
NO 1 2 3 4 5 6 7 8 9 10
1 bc ab bc ac abc ac ab bc ac ab
2 ac abc ab bc ac ab ab bc abc ab
3 ab bc abc ab abc ac bc ac abc ac
4 abc ab bc bc ac ab ab ab ac bc
.......
800
得到的A表结果(共有7个字段相同)
NO 1 2 3 4 5 6 7 8 9 10 11 12 13 14...810
1 a c b b c a c c b a 5 9 10 5 ...
2 b a b c b b a b c a 9 8 5 8 ...
3 a c a b c b b c a c 4 9 9 7 ...
4 c c a b a b c a c b 4 8 7 7 ...
.......
10000
解释:
A表的第一条记录和B表的前面4条记录比较后的结果为5,9,10,5 写入A表的11,12 ,13,14字段里,A表的第二条记录和B表的前面4条记录比较后的结果为9,8,5,8 写入A表的11,12 ,13,14字段里, A表的第三条记录和B表的前面4条记录比较后的结果为4,9,9,7写入A表的11,12 ,13,14字段里,A表的第二条记录和B表的前面4条记录比较后的结果为4,8,7,7 写入A表的11,12 ,13,14字段里。
或者用我说的第二个方式,先得出字段11的值,然后是字段12的值,依此类推...
A表有1万条记录,B表中有800条记录,A表中的每条记录和B表中的每条记录进行比较,A表的每条记录和B表800条记录比较后把比较结果写到A表记录新增的800条字段里进行存储。
sql数据库中的两个表的记录进行比较!sql数据库中有A表和B表,字段结构相同,字段名称为NO,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表的每条记录要和B表的每条记录进行比较,假设A表的第一条记录和B表的所有的800条记录进行比较,即得出800个结果,得出的结果写入A表第一条记录的后面,包括原来A表的11个字段加上得出的结果共有11+800=811个字段了。A表的其他记录如此依次和B表的记录进行比较,就可以得出最终的结果!
或者换一种方式,即A表的所有记录依次和B表的第一条记录开始比较,就得到一个字段(字段11)的结果,写入A表中。然后在和B表的第二条记录开始比较,得到字段12的结果,写入A表中,如此类推,直到和B表的最后一条记录比较完成,得到最后一个字段811。
如A表
NO 1 2 3 4 5 6 7 8 9 10
1 a c b b c a c c b a
2 b a b c b b a b c a
3 a c a b c b b c a c
4 c c a b a b c a c b
..........
10000
B表
NO 1 2 3 4 5 6 7 8 9 10
1 bc ab bc ac abc ac ab bc ac ab
2 ac abc ab bc ac ab ab bc abc ab
3 ab bc abc ab abc ac bc ac abc ac
4 abc ab bc bc ac ab ab ab ac bc
.......
800
得到的A表结果(共有7个字段相同)
NO 1 2 3 4 5 6 7 8 9 10 11 12 13 14...810
1 a c b b c a c c b a 5 9 10 5 ...
2 b a b c b b a b c a 9 8 5 8 ...
3 a c a b c b b c a c 4 9 9 7 ...
4 c c a b a b c a c b 4 8 7 7 ...
.......
10000
解释:
A表的第一条记录和B表的前面4条记录比较后的结果为5,9,10,5 写入A表的11,12 ,13,14字段里,A表的第二条记录和B表的前面4条记录比较后的结果为9,8,5,8 写入A表的11,12 ,13,14字段里, A表的第三条记录和B表的前面4条记录比较后的结果为4,9,9,7写入A表的11,12 ,13,14字段里,A表的第二条记录和B表的前面4条记录比较后的结果为4,8,7,7 写入A表的11,12 ,13,14字段里。
或者用我说的第二个方式,先得出字段11的值,然后是字段12的值,依此类推...
A表有1万条记录,B表中有800条记录,A表中的每条记录和B表中的每条记录进行比较,A表的每条记录和B表800条记录比较后把比较结果写到A表记录新增的800条字段里进行存储。
#5
还是有点晕,那个比较怎么比的
#6
可以看我的“解释”,如A表的第一个记录共有十字段的数值,它的值与B表第一个记录对应字段值比较。只要B表的字母包好有A表的字母,则表示值相同,如下计算
A表
NO 1 2 3 4 5 6 7 8 9 10
1 a c b b c a c c b a
B表
NO 1 2 3 4 5 6 7 8 9 10
1 bc ab bc ac abc ac ab bc ac ab
两个表中的两条记录,B表3,5,6,8,10字段的字母值与A表3,5,6,8,10字段有相同的字母,表示这5个字段值相同。因此,这两条记录有5个字段相同,就把“5”写入A表的字段11中。依此类推A表的第一条记录再与B表的第二条比较得到9个字段相同,所以就把“9”写入A表的字段12中,依此类推就得到A表的字段13的值为10,字段14的值为5。A表的第一条记录与B表的800条记录比较完成后,就到A表的第二条记录,依此类推,直到第10000条记录完成。
呵呵,不知道表述清楚了没有。
A表
NO 1 2 3 4 5 6 7 8 9 10
1 a c b b c a c c b a
B表
NO 1 2 3 4 5 6 7 8 9 10
1 bc ab bc ac abc ac ab bc ac ab
两个表中的两条记录,B表3,5,6,8,10字段的字母值与A表3,5,6,8,10字段有相同的字母,表示这5个字段值相同。因此,这两条记录有5个字段相同,就把“5”写入A表的字段11中。依此类推A表的第一条记录再与B表的第二条比较得到9个字段相同,所以就把“9”写入A表的字段12中,依此类推就得到A表的字段13的值为10,字段14的值为5。A表的第一条记录与B表的800条记录比较完成后,就到A表的第二条记录,依此类推,直到第10000条记录完成。
呵呵,不知道表述清楚了没有。
#7
有没有高手,帮忙回答一下!谢谢!
#8
自己顶
#1
#2
看得有点晕....
#3
帮顶。
#4
呵呵,是我写得不够清楚么,那我重举例,不用相同的数据!应该就清楚了!
sql数据库中的两个表的记录进行比较!sql数据库中有A表和B表,字段结构相同,字段名称为NO,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表的每条记录要和B表的每条记录进行比较,假设A表的第一条记录和B表的所有的800条记录进行比较,即得出800个结果,得出的结果写入A表第一条记录的后面,包括原来A表的11个字段加上得出的结果共有11+800=811个字段了。A表的其他记录如此依次和B表的记录进行比较,就可以得出最终的结果!
或者换一种方式,即A表的所有记录依次和B表的第一条记录开始比较,就得到一个字段(字段11)的结果,写入A表中。然后在和B表的第二条记录开始比较,得到字段12的结果,写入A表中,如此类推,直到和B表的最后一条记录比较完成,得到最后一个字段811。
如A表
NO 1 2 3 4 5 6 7 8 9 10
1 a c b b c a c c b a
2 b a b c b b a b c a
3 a c a b c b b c a c
4 c c a b a b c a c b
..........
10000
B表
NO 1 2 3 4 5 6 7 8 9 10
1 bc ab bc ac abc ac ab bc ac ab
2 ac abc ab bc ac ab ab bc abc ab
3 ab bc abc ab abc ac bc ac abc ac
4 abc ab bc bc ac ab ab ab ac bc
.......
800
得到的A表结果(共有7个字段相同)
NO 1 2 3 4 5 6 7 8 9 10 11 12 13 14...810
1 a c b b c a c c b a 5 9 10 5 ...
2 b a b c b b a b c a 9 8 5 8 ...
3 a c a b c b b c a c 4 9 9 7 ...
4 c c a b a b c a c b 4 8 7 7 ...
.......
10000
解释:
A表的第一条记录和B表的前面4条记录比较后的结果为5,9,10,5 写入A表的11,12 ,13,14字段里,A表的第二条记录和B表的前面4条记录比较后的结果为9,8,5,8 写入A表的11,12 ,13,14字段里, A表的第三条记录和B表的前面4条记录比较后的结果为4,9,9,7写入A表的11,12 ,13,14字段里,A表的第二条记录和B表的前面4条记录比较后的结果为4,8,7,7 写入A表的11,12 ,13,14字段里。
或者用我说的第二个方式,先得出字段11的值,然后是字段12的值,依此类推...
A表有1万条记录,B表中有800条记录,A表中的每条记录和B表中的每条记录进行比较,A表的每条记录和B表800条记录比较后把比较结果写到A表记录新增的800条字段里进行存储。
sql数据库中的两个表的记录进行比较!sql数据库中有A表和B表,字段结构相同,字段名称为NO,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表的每条记录要和B表的每条记录进行比较,假设A表的第一条记录和B表的所有的800条记录进行比较,即得出800个结果,得出的结果写入A表第一条记录的后面,包括原来A表的11个字段加上得出的结果共有11+800=811个字段了。A表的其他记录如此依次和B表的记录进行比较,就可以得出最终的结果!
或者换一种方式,即A表的所有记录依次和B表的第一条记录开始比较,就得到一个字段(字段11)的结果,写入A表中。然后在和B表的第二条记录开始比较,得到字段12的结果,写入A表中,如此类推,直到和B表的最后一条记录比较完成,得到最后一个字段811。
如A表
NO 1 2 3 4 5 6 7 8 9 10
1 a c b b c a c c b a
2 b a b c b b a b c a
3 a c a b c b b c a c
4 c c a b a b c a c b
..........
10000
B表
NO 1 2 3 4 5 6 7 8 9 10
1 bc ab bc ac abc ac ab bc ac ab
2 ac abc ab bc ac ab ab bc abc ab
3 ab bc abc ab abc ac bc ac abc ac
4 abc ab bc bc ac ab ab ab ac bc
.......
800
得到的A表结果(共有7个字段相同)
NO 1 2 3 4 5 6 7 8 9 10 11 12 13 14...810
1 a c b b c a c c b a 5 9 10 5 ...
2 b a b c b b a b c a 9 8 5 8 ...
3 a c a b c b b c a c 4 9 9 7 ...
4 c c a b a b c a c b 4 8 7 7 ...
.......
10000
解释:
A表的第一条记录和B表的前面4条记录比较后的结果为5,9,10,5 写入A表的11,12 ,13,14字段里,A表的第二条记录和B表的前面4条记录比较后的结果为9,8,5,8 写入A表的11,12 ,13,14字段里, A表的第三条记录和B表的前面4条记录比较后的结果为4,9,9,7写入A表的11,12 ,13,14字段里,A表的第二条记录和B表的前面4条记录比较后的结果为4,8,7,7 写入A表的11,12 ,13,14字段里。
或者用我说的第二个方式,先得出字段11的值,然后是字段12的值,依此类推...
A表有1万条记录,B表中有800条记录,A表中的每条记录和B表中的每条记录进行比较,A表的每条记录和B表800条记录比较后把比较结果写到A表记录新增的800条字段里进行存储。
#5
还是有点晕,那个比较怎么比的
#6
可以看我的“解释”,如A表的第一个记录共有十字段的数值,它的值与B表第一个记录对应字段值比较。只要B表的字母包好有A表的字母,则表示值相同,如下计算
A表
NO 1 2 3 4 5 6 7 8 9 10
1 a c b b c a c c b a
B表
NO 1 2 3 4 5 6 7 8 9 10
1 bc ab bc ac abc ac ab bc ac ab
两个表中的两条记录,B表3,5,6,8,10字段的字母值与A表3,5,6,8,10字段有相同的字母,表示这5个字段值相同。因此,这两条记录有5个字段相同,就把“5”写入A表的字段11中。依此类推A表的第一条记录再与B表的第二条比较得到9个字段相同,所以就把“9”写入A表的字段12中,依此类推就得到A表的字段13的值为10,字段14的值为5。A表的第一条记录与B表的800条记录比较完成后,就到A表的第二条记录,依此类推,直到第10000条记录完成。
呵呵,不知道表述清楚了没有。
A表
NO 1 2 3 4 5 6 7 8 9 10
1 a c b b c a c c b a
B表
NO 1 2 3 4 5 6 7 8 9 10
1 bc ab bc ac abc ac ab bc ac ab
两个表中的两条记录,B表3,5,6,8,10字段的字母值与A表3,5,6,8,10字段有相同的字母,表示这5个字段值相同。因此,这两条记录有5个字段相同,就把“5”写入A表的字段11中。依此类推A表的第一条记录再与B表的第二条比较得到9个字段相同,所以就把“9”写入A表的字段12中,依此类推就得到A表的字段13的值为10,字段14的值为5。A表的第一条记录与B表的800条记录比较完成后,就到A表的第二条记录,依此类推,直到第10000条记录完成。
呵呵,不知道表述清楚了没有。
#7
有没有高手,帮忙回答一下!谢谢!
#8
自己顶