加入两个表并减去多个列

时间:2017-11-24 17:10:55

标签: mysql

我是SQL新手。我正在尝试连接两个表并从table_a中减去MySQL中table_b中类似列的列值。两个表中的列标题和行标题相同。

示例:

Table_a
Id_num   Val1   Val2   Val3
nameA       10     20     30
nameB       40     50     60

Table_b
Id_num   Val1   Val2   Val3
nameA       20     35     50
nameB       60     65     85

我想要的是一个看起来像这样的表:

Id_num   Val1   Val2   Val3
nameA       10     15     20
nameB       20     15     25

我尝试了以下内容:

    SELECT Table_a.Id_num
         (Table_a.Val1 - Table_b.Val1) as Val1,
         (Table_a.Val2 - Table_b.Val2) as Val2,
         (Table_a.Val3 - Table_b.Val3) as Val3
    FROM Table_a
    INNER JOIN Table_a on Table_a.Id_num = Table_b.Id_num; 

我能从中得到的是一个语法错误,它告诉我'Table_a'不是唯一的表/别名。

我完全糊涂了。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:2)

您错过了SELECT中的昏迷,而您的join应该在Table_b上

 SELECT Table_a.Id_num,
         (Table_a.Val1 - Table_b.Val1) as Val1,
         (Table_a.Val2 - Table_b.Val2) as Val2,
         (Table_a.Val3 - Table_b.Val3) as Val3
    FROM Table_a
    INNER JOIN Table_b on Table_b.Id_num = Table_a.Id_num;