Sobes.tech
Middle

Como combinar dados de duas tabelas com diferentes níveis de preenchimento de endereço e preço em SQL?

sobes.tech IA

Resposta da IA

Para combinar dados de duas tabelas com diferentes níveis de preenchimento de endereço e preço, pode usar uma consulta SQL com o operador FULL OUTER JOIN. Isto permite combinar todos os registos de ambas as tabelas, mantendo os dados mesmo que em uma delas faltem valores correspondentes.

Exemplo:

SELECT
  COALESCE(t1.id, t2.id) AS id,
  COALESCE(t1.address, t2.address) AS address,
  COALESCE(t1.price, t2.price) AS price
FROM table1 t1
FULL OUTER JOIN table2 t2 ON t1.id = t2.id;

Aqui:

  • COALESCE escolhe o primeiro valor não NULL da lista, permitindo combinar dados de ambas as tabelas.
  • FULL OUTER JOIN garante que todas as entradas de ambas as tabelas apareçam no resultado, mesmo que faltem dados numa delas.

Se desejar combinar por várias colunas ou usar lógica mais complexa, pode adicionar condições adicionais em ON ou usar CASE para processar os dados.