连接两个表并减去多列 [英] Join two tables and subtract multiple columns

查看:48
本文介绍了连接两个表并减去多列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I am brand new to SQL. I am trying to join two tables and subtract column values from table_a from similar columns in table_b in MySQL. The column headings and row headings are identical in both tables.

示例:

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

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

What I want is a table that looks like this:

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"不是唯一的表/别名.

All I can get from this is a syntax error that tells me that 'Table_a' is not a unique table/alias.

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

I am completely confused. Any help appreciated.

推荐答案

您的 SELECT 中缺少昏迷,并且您的 join 应该在 Table_b 上

You're missing a coma in your SELECT and your join should be on 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;

这篇关于连接两个表并减去多列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆