将具有行和列的两个表连接起来并求和

时间:2019-05-28 19:42:40

标签: mysql sql

我有一张看起来像的桌子

ColA  ColB  ColC ColD  ColE  ColF
 A    B      C    D     E      F

我想将此表的每一行连接到另一个表

Column1  values
 A          1 
 A          2
 B          1 
 B          2

结果输出将是表2中列值的总和。例如, 表1的第一行包含表2中存在的A,B,它们的总和为6。

ColA  ColB  ColC ColD  ColE  ColF    sum
 A    B      C    D     E      F      6

任何想法如何在MYSQL中做到这一点?

1 个答案:

答案 0 :(得分:4)

您可以使用子查询来做到这一点:

select t.*,
       (select sum(t2.value)
        from t2
        where t2.column1 in (t.cola, t.colb, t.colc, t.cold, t.cole, t.colf)
       ) as total
from t;