Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 连接两个表并减去多个列_Mysql - Fatal编程技术网

Mysql 连接两个表并减去多个列

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

我是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     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”的代码块。我认为这是你的打字错误,但如果你真的写这样的代码,这是一个很大的错误。还有一件事,我看到下面的答案是相当好的,它可能是正确的答案为您