Sobes.tech
Middle

Hoe combineer je gegevens uit twee tabellen met verschillende volledigheid van adres en prijs in SQL?

sobes.tech AI

Antwoord van AI

Om gegevens uit twee tabellen met verschillende invulniveaus van adres en prijs samen te voegen, kunt u een SQL-query gebruiken met de operator FULL OUTER JOIN. Hiermee worden alle records uit beide tabellen gecombineerd, waarbij gegevens behouden blijven, zelfs als in een van de tabellen ontbrekende waarden zijn.

Voorbeeld:

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;

Hier:

  • COALESCE kiest de eerste niet-NULL waarde uit de lijst, waardoor gegevens uit beide tabellen kunnen worden gecombineerd.
  • FULL OUTER JOIN zorgt ervoor dat alle records uit beide tabellen in het resultaat worden opgenomen, zelfs als er in een van de tabellen ontbrekende gegevens zijn.

Als u op meerdere velden wilt samenvoegen of complexere logica wilt gebruiken, kunt u extra voorwaarden toevoegen aan ON of CASE gebruiken om de gegevens te verwerken.