我是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'不是唯一的表/别名。
我完全糊涂了。任何帮助表示赞赏。
答案 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;