我有两张格式相同的表格。它们看起来像这样:
表A中的所有数据都是正确的。它包含158.000 EAN号码。在表B中,有大约5.000个EAN号。表B中有一些EAN编号,但是表A中没有。我需要创建一个新表,其中包含表A中的所有数据和表B中不在表A中的EAN编号。
起初我做了一个工会,然后是工会。这就是我发现存在重复值的方式。表B仅包含MeterNumberOfDigits,MeterConversionFactor和MeterUnitType的NULL值。我不知道如何正确地进行连接,以便保留这些行中的信息。
答案 0 :(得分:3)
以下查询将为您提供table A
的所有记录以及tableB
中包含EANno
中未找到table A
的记录:
select [Your column list] from tableA A
inner join tableB B
on A.EANno = B.EANno
union all
select [Your column list] from tableB B
where B.EANno not in (select distinct EANno from tableA)
答案 1 :(得分:0)
select EAN from A union select EAN from B.
union all将保留重复值,union保持不变 不同的价值。
如果你这样做
select * from A union select * from B
相同的EAN行并不代表同一行,它们在其他列上可能不同
我希望这可以帮到你