Sobes.tech
Middle

Comment combiner les données de deux tables avec des complétudes différentes d'adresse et de prix en SQL?

sobes.tech IA

Réponse de l'IA

Pour fusionner des données de deux tables avec des remplissages d’adresses et de prix différents, vous pouvez utiliser une requête SQL avec l’opérateur FULL OUTER JOIN. Cela permet de combiner toutes les entrées des deux tables, en conservant les données même si certaines valeurs sont manquantes dans l’une d’elles.

Exemple :

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;

Ici :

  • COALESCE choisit la première valeur non NULL de la liste, permettant de fusionner les données des deux tables.
  • FULL OUTER JOIN garantit que toutes les entrées des deux tables apparaissent dans le résultat, même si certaines sont manquantes.

Pour fusionner sur plusieurs colonnes ou utiliser une logique plus complexe, vous pouvez ajouter des conditions supplémentaires dans ON ou utiliser CASE pour traiter les données.