在SQL中,可以使用UNION ALL和SUM函数来实现两个表的数据合并相加。
1. 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进行分组。
2. 如果两个表的结构不同,但有一个共同的列可以进行连接,可以使用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进行分组。