使用相同的复合键连接两个表

时间:2014-11-12 11:57:50

标签: mysql sql join

我必须找到两个表之间的差异。两者都有相同的复合键。

所以表A是:

Vendor Material    
    Vendor1 Mat1
    Vendor1 Mat2
    Vendor1 Mat3
    Vendor 2 Mat 4

表B是:

Vendor Material    
    Vendor1 Mat1
    Vendor1 Mat2
    Vendor1 Mat3
    Vendor1 Mat4
    Vendor2 Mat4

我需要弄清楚如何获得结果Vendor1 Mat4。

我试过

Select TableB.Vendor, TableB.Material From TableB,TableA, where TableB.Vendor <> TableA.Vendor AND TableB.Material <> TableA.Material;

但这对我没有帮助,因为我得到了比预期更多的结果。

2 个答案:

答案 0 :(得分:2)

此查询应该为您提供结果:

Select TableB.Vendor TableB.Material 
from TableB join TableA on  TableB.Vendor =TableA.Vendor and TableB.Material = TableA.Material 
where tableA.vendor is null;

答案 1 :(得分:0)

  SELECT TableB.Vendor , TableB.Material 
    FROM TableB LEFT JOIN TableA on TableB.Vendor =TableA.Vendor and TableB.Material = TableA.Material 
    WHERE tableA.vendor IS NULL