在SQL中,可以使用UNION ALL和SUM函数来实现两个表的数据合并相加。
- UNION ALL:将两个表的数据按行合并,不进行去重,然后使用SUM函数对合并后的数据进行求和。
例如,假设有两个表table1和table2,它们有相同的列col1和col2,可以使用以下语句将这两个表的数据合并相加:
SELECT col1, col2, SUM(value) AS total FROM ( SELECT col1, col2, value FROM table1 UNION ALL SELECT col1, col2, value FROM table2 ) AS combined_table GROUP BY col1, col2;
上述语句中,通过UNION ALL将table1和table2的数据按行合并,然后使用SUM函数对value列进行求和,并按照col1和col2进行分组。
- 如果两个表的结构不同,但有一个共同的列可以进行连接,可以使用JOIN语句将这两个表连接起来,然后使用SUM函数对连接后的数据进行求和。
例如,假设有两个表table1和table2,它们有一个共同的列col,可以使用以下语句将这两个表的数据合并相加:
SELECT t1.col, SUM(t1.value + t2.value) AS total FROM table1 t1 JOIN table2 t2 ON t1.col = t2.col GROUP BY t1.col;
上述语句中,通过JOIN语句将table1和table2的数据连接起来,然后使用SUM函数对t1.value和t2.value列进行求和,并按照t1.col进行分组。