sql db2内连接比较查找值

时间:2016-11-21 21:48:05

标签: sql db2 inner-join

我有两张桌子:

TABLE_1

ID_1 | VALUES_1
1    | 123
2    | 234
3    | 345

TABLE_2

ID_2 | VALUES_2
1    | 123
2    | 234
3    | 349
4    | 456
5    | 567
6    | 678

我正在进行内部联接以比较两个表中的值:

SELECT ID_1, VALUES_1, TABLE_2.VALUES_2
FROM TABLE_1,TABLE_2
WHERE 
  TABLE_1.ID_1 = TABLE_2.ID_2 AND
  TABLE_1.VALUES_1 <> TABLE_2.VALUES_2

这给了我感兴趣的行,

ID_1 | VALUES_1 | VALUES_2
3    | 345      | 349

有没有办法在查询中插入第三列以显示VALUES_1VALUES_2之间的差异? E.g。

ID_1 | VALUES_1 | VALUES_2 | DIFFERENCE
3    | 345      | 349      | 4

1 个答案:

答案 0 :(得分:1)

SELECT
    ID_1
    ,VALUES_1
    ,TABLE_2.VALUES_2
    ,TABLE_2.VALUES_2 - VALUES_1 as Differnce
FROM
    TABLE_1
    INNER JOIN TABLE_2
    ON TABLE_1.ID_1 = TABLE_2.ID_2
    AND TABLE_1.VALUES_1 <> TABLE_2.VALUES_2

注意我还将您的查询转换为使用显式连接语法而不是隐式连接,因为这是更标准的方法。