PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como posso mesclar as colunas de duas tabelas em uma saída?


Especificar as colunas em sua consulta deve funcionar:
select a.col1, b.col2, a.col3, b.col4, a.category_id 
from items_a a, items_b b 
where a.category_id = b.category_id

deve fazer o truque no que diz respeito a escolher as colunas que você deseja.

Para contornar o fato de que alguns dados estão apenas em items_a e alguns dados estão apenas em items_b, você pode fazer:
select 
  coalesce(a.col1, b.col1) as col1, 
  coalesce(a.col2, b.col2) as col2,
  coalesce(a.col3, b.col3) as col3,
  a.category_id
from items_a a, items_b b
where a.category_id = b.category_id

A função coalesce retornará o primeiro valor não nulo, portanto, para cada linha, se col1 não for nulo, usará isso, caso contrário, obterá o valor de col2 etc.