Sql 将一列与两个表中的其他列区分开来

Sql 将一列与两个表中的其他列区分开来,sql,ms-access,join,distinct-values,Sql,Ms Access,Join,Distinct Values,我试图从由两个表table1和table2组成的Access数据集中消除重复行。我想从一列和两个表中检索不同的值和字段,但也要检索其他重复列和唯一值的值 样本数据(非实际数据): 表1: ID BOM_PART_NAME PART FIND NO POS LCN POS_CT 1 E 0001 1 P0 1 2 A 0002 1 P1 1 3 C

我试图从由两个表table1和table2组成的Access数据集中消除重复行。我想从一列和两个表中检索不同的值和字段,但也要检索其他重复列和唯一值的值

样本数据(非实际数据):

表1:

ID  BOM_PART_NAME  PART FIND NO  POS  LCN  POS_CT   
1       E              0001       1    P0    1
2       A              0002       1    P1    1
3       C              0003       1    P2    1
4       D              0004       1    P3    1
5       F              0005       1    P4    1
表2:

ID  PART-ATA-NO    PART-SN     PART-NAME
1      001                         A
2      002                         B
3      003                         C
4      004          1100           D
5      005          1101           E
表2:

ID  PART-ATA-NO    PART-SN     PART-NAME
1      001                         A
2      002                         B
3      003                         C
4      004          1100           D
5      005          1101           E
ID PART-ATA-NO PART-SN PART-NAME 1001A 2002b 3003C 4001100D 5 005 1101 E

我得到的(只是显示结果集中的主要列以保持简短):

身份证。。。零件找不到POS零件号ATA零件号SN零件号 1 001 1 001 1369 2 002 1 002 1444 3 003 1 003 1100 300311003 1101
3 003 1 003 1102 4 003 2 003 1101 4 003 2 003 1102 5 004 1 004 1101 5 004 1 004 1102 预期结果:

ID    PART FIND NO       POS      PART-ATA-NO     PART-SN
1        001              1           001          1369
2        002              1           002          1444
3        003              1           003          1100
4        003              2           003          1101  
5        003              3           003          1102
6        003              4           003          1103
7        003              5           003          1104
8        004              1           004          1105
9        004              2           004          1106
ID部件找不到POS部件-ATA-无部件-SN 1 001 1 001 1369 2 002 1 002 1444 3 003 1 003 1100 4 003 2 003 1101
5 003 3 003 1102 6 003 4 003 1103 7 003 5 003 1104 8 004 1 004 1105 9 004 2 004 1106

ID    PART FIND NO       POS       PART-ATA-NO   PART-SN
1        001              1           001          1369
2        002              1           002          1444
3        003              1           003          1100
3        003              1           003          1101  
3        003              1           003          1102
4        003              2           003          1101
4        003              2           003          1102
5        004              1           004          1101
5        004              1           004          1102
预期结果:

ID    PART FIND NO       POS      PART-ATA-NO     PART-SN
1        001              1           001          1369
2        002              1           002          1444
3        003              1           003          1100
4        003              2           003          1101  
5        003              3           003          1102
6        003              4           003          1103
7        003              5           003          1104
8        004              1           004          1105
9        004              2           004          1106
对于匹配的零件查找号(和零件ATA-NO),POS应增加1。序列号应该是唯一的

我用于连接两个表的查询:

SELECT Table1.*, Table2.[PART-ATA-NO], Table2.[PART-SN]
FROM Table1 INNER JOIN Table2 ON Table1.[PART FIND NO] = Table2.[PART-ATA-NO];

我想从中获得唯一值的字段是
[PART-SN]
来自
表2
。我想从
表1
[PART-SN]
表2中选择所有其他字段,对于
[PART-SN]
的所有不同行,应返回其中的所有行<代码>[PART FIND NO]和
[PART-ATA-NO]
具有等效值。有没有办法将两个表连接起来以获得此结果

请发布一些示例数据和预期结果。添加了一些示例数据和预期结果。您说有两个源表,我只看到一个。关于计算递增值的问题在你的另一个问题中得到了解决。是的,但我发现问题实际上并不是那个字段。这个问题似乎是重复SN的结果。这是连接在一起的两个表,但不是所有的字段,因为这些表非常大。