超难题:两表对比后,检索出符合条件的记录数量
现有两个表Table_A和Table_B,它们的结构完全相同,但记录值不同,记录总数各有上千条且两者数目不等。
Table_A的结构如下:
┌─────┬───-┬───-┬───-┬───-┬───-┬-───┐
│ 序 号 │Field_1│Field_2│Field_3│Field_4│Field_5│Field_6│
│varchar(4)│ (Int) │ (Int) │ (Int) │ (Int) │ (Int) │ (Int) │
├─────┼───-┼───-┼───-┼───-┼───-┼───-│
│ N003 │ 31 │ 45 │ 12 │ 89 │ 50 │ 66 │
├─────┼───-┼───-┼───-┼───-┼───-┼───-│
│ N004 │ 24 │ 35 │ 10 │ 72 │ 12 │ 23 │
├─────┼───-┼───-┼───-┼───-┼───-┼───-│
│ N005 │ 24 │ 89 │ 23 │ 11 │ 35 │ 31 │
├─────┼───-┼───-┼───-┼───-┼───-┼───-│
│ N006 │ 24 │ 89 │ 23 │ 11 │ 35 │ 90 │
├─────┼───-┼───-┼───-┼───-┼───-┼───-│
.................
Table_B的结构如下:
┌─────┬───-┬───-┬───-┬───-┬───-┬-───┐
│ 序 号 │Field_1│Field_2│Field_3│Field_4│Field_5│Field_6│
│varchar(4)│ (Int) │ (Int) │ (Int) │ (Int) │ (Int) │ (Int) │
├─────┼───-┼───-┼───-┼───-┼───-┼───-│
│ N003 │ 31 │ 46 │ 14 │ 79 │ 55 │ 16 │
├─────┼───-┼───-┼───-┼───-┼───-┼───-│
│ N004 │ 22 │ 15 │ 40 │ 72 │ 12 │ 53 │
├─────┼───-┼───-┼───-┼───-┼───-┼───-│
│ N006 │ 24 │ 22 │ 23 │ 55 │ 15 │ 90 │
├─────┼───-┼───-┼───-┼───-┼───-┼───-│
.................
现已知:Table_B的序号取自Table_A的一部分而非全部,且两者的序号都是主键。
要求:以Table_A作为参照表,在Table_B中检索满足以下条件的记录个数:
①.当两表的序号相同时,Table_B该行中Field_1到Field_6中六个字段值(整形数),有且仅有1个整数与参照表(Table_A)的六个值之一相同;
②.当两表的序号相同时,Table_B该行中Field_1到Field_6中六个字段值,有且仅有2个整数与参照表(Table_A)的六个值之二相同;
③.当两表的序号相同时,Table_B该行中Field_1到Field_6中六个字段值,有且仅有3个整数与参照表(Table_A)的六个值之三相同;
④.当两表的序号相同时,Table_B该行中Field_1到Field_6中六个字段值,有且仅有4个整数与参照表(Table_A)的六个值之四相同;
⑤.当两表的序号相同时,Table_B该行中Field_1到Field_6中六个字段值,有且仅有5个整数与参照表(Table_A)的六个值之五相同;
⑥.当两表的序号相同时,两表的Field字段六个值全相同(列顺序可以相同也可以不同)
⑦.检索结果形式如下:
┌──────────┬───────┐
│ 类 别 │ 记录个数 │
├──────────┼───────│
│有且仅有1个整数相同 │ 378 │
├──────────┼───────│
│有且仅有2个整数相同 │ 80 │
├──────────┼───────│
│有且仅有3个整数相同 │ 780 │
├──────────┼───────│
│有且仅有4个整数相同 │ 37 │
├──────────┼───────│
│有且仅有5个整数相同 │ 78 │
├──────────┼───────│
│ 6个整数全相同 │ 70 │
├──────────┼───────│
大家快帮帮忙吧!这样的SQL语句该怎么写?