Middle
Hogyan lehet két tábla adatait összekapcsolni, amelyek különböző mértékben tartalmazzák a címet és az árat SQL-ben?
sobes.tech MI
Válasz az MI-től
Két tábla adatait, amelyek különböző kitöltöttségi szinteken tartalmaznak címet és árat, az FULL OUTER JOIN operátorral lehet összekapcsolni. Ez lehetővé teszi, hogy mindkét tábla összes rekordja megjelenjen, még akkor is, ha az egyikben hiányoznak a megfelelő értékek.
Példa:
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;
Itt:
- A
COALESCEaz első nem NULL értéket választja a listából, lehetővé téve az adatok összekapcsolását mindkét táblából. - A
FULL OUTER JOINbiztosítja, hogy mindkét tábla összes rekordja szerepeljen az eredményben, még akkor is, ha hiányoznak adatok.
Ha több oszlop szerint szeretné összekapcsolni vagy összetettebb logikát alkalmazni, akkor további feltételeket adhat hozzá az ON-hoz vagy CASE-t használhat az adatok feldolgozására.