Mysql 连接两个表并减去多个列
我是SQL的新手。我试图连接两个表,并从MySQL中表_b中的类似列中减去表_a中的列值。两个表中的列标题和行标题相同 例如:Mysql 连接两个表并减去多个列,mysql,Mysql,我是SQL的新手。我试图连接两个表,并从MySQL中表_b中的类似列中减去表_a中的列值。两个表中的列标题和行标题相同 例如: 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
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”不是唯一的表/别名
我完全糊涂了。感谢您的帮助。您的
选择中缺少昏迷,您的加入应该在表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;
您的SELECT
中缺少昏迷,您的join
应该在表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;
表a内部联接表a->这是您键入的错误吗?我不确定我是否理解您的要求。在我的示例中,我没有为表a键入小写字母“t”?请仔细查看您的文章“来自表a内部联接表a”的代码块。我认为这是你的打字错误,但如果你真的写这样的代码,这是一个很大的错误。还有一件事,我看到下面的答案很好,它可能是youTable_a内部联接表的正确答案->这是您键入的错误吗?我不确定我是否理解您的问题。在我的示例中,我没有为表a键入小写字母“t”?请仔细查看您的文章“来自表a内部联接表a”的代码块。我认为这是你的打字错误,但如果你真的写这样的代码,这是一个很大的错误。还有一件事,我看到下面的答案是相当好的,它可能是正确的答案为您