在全外连接中将两个子查询列 id 合并为一个 SQL

combine two sub query column id into one in full outer join SQL

我有两个 table,如下所示。使用完全外部连接,我将两个 table 值合并为一个。 我想将所有 id 放入一个列中。 在查询下方使用:

select sum(price),A.id,B.id
from
(select sum(price),id from table_a group by id) A
Full outer join
(select sum(price),id from table_b group by id)B
on A.id=B.id
group by A.id, B.id


table a     table b 
                
id  price   id  price
1   20      1   10
2   40      4   20
3   10      5   30
7   10      6   40

现在我的结果如下

id  id  price
1   1   30
2   ?   40
3   ?   10
?   4   20
?   5   30
?   6   40
7   ?   10

但我想要如下结果:

id  price
1   30
2   40
3   10
4   20
5   30
6   40
7   10

提前致谢 爱你

尝试关注

SELECT
  ab.id as id, 
  SUM(price) as price
FROM
(
 SELECT id, price FROM table_a
 UNION ALL
 SELECT id, price FROM table_b
) ab
GROUP BY ab.id
ORDER BY ab.id
;

使用完全外部连接

  SELECT
    COALESCE(a.id, b.id) as id, 
    (COALESCE(a.price, 0) +  COALESCE(b.price, 0)) as price 
  FROM
    test_a a
    FULL OUTER JOIN test_b b ON (a.id = b.id)