Miten MySQL:ssa tehdään molempipuolinen liitos?
Taulu A (id, arvo)
1 A
2 B
3 C
Taulu B (id, arvo)
2 X
3 Y
4 Z
Lopputulos (id, A, B)
1 A, NULL
2 B, X
3 C,Y
4 NULL, Z
Molempipuolinen liitos
2
721
Vastaukset
- ...
select * from Taulu A full join Taulu B
using id- I.Proqatlis
Oikea vastaus on, ettei sitä tänä päivänä tehdä mitenkään, siis suoraan. Kiertotie toki on olemassa, ja se on seuraava:
SELECT a.id, a.arvo, b.arvo
FROM a_taulu a LEFT JOIN b_taulu b ON a.id = b.id
UNION
SELECT b.id, a.arvo, b.arvo
FROM a_taulu a RIGHT JOIN b_taulu b ON a.id = b.id;
Ensimmäinen SELECT siis hakee a_taulu:sta kaikki rivit ja yhdistää kunkin rivin mahdolliseen b_taulu:ssa olevaan riviin id:n perusteella.
Toinen SELECT hakee b_taulu:sta kaikki rivit ja yhdistää kunkin rivin mahdolliseen a_taulu:ssa olevaan riviin.
Nämä kaksi kyselytulosta yhdistetään UNIONilla ja kaksoiskappaleet poistuvat, koska tässä ei ole määritystä UNION ALL.
Lisää aiheesta:
http://dev.mysql.com/doc/refman/5.0/en/join.html
Tuossa ylläolevassa paikassa kaksi viimeistä viestiä liittyvät aiheeseen.
Tässä alla taas on juttua, kuinka full join on Oracle-tietokannassa olemassa versiosta 9i alkaen. MySQL:ssä sitä ei ole vielä lainkaan. Mutta tietokannat kehittyvät, ja kiertotie kuitenkin löytyy.
http://www.oreillynet.com/pub/a/network/2002/04/23/fulljoin.html
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Ensi kesänä
Näin kesän viimeisenä minuutteina ajattelen sinua. Olisiko seuraava kesä "meidän" kesä? Tänä vuonna ei onnistuttu, mutta703550Anne Kukkohovin karmeat velat ovat Suomessa.
Lähtikö se siksi pois Suomesta ? Et on noin kar? mean suuret velat naisella olemassa1483503Tukalaa kuumuutta
Tietäisitpä vaan kuinka kuumana olen käynyt viime päivät. Eikä johdu helteestä, vaan sinusta. Mitäköhän taikoja olet teh463322- 532769
- 322036
Okei, myönnetään,
Oisit sä saanut ottaa ne housutkin pois, mutta ehkä joskus jossain toisaalla. 😘301962Et siis vieläkään
Et ilmeisesti ole vieläkään päässyt loppuun asti mun kirjoituksissa täällä. Kerro ihmeessä sit, kun valmista 😁 tuskin k401695- 481676
Mihin hävisi
Mihin hävisi asiallinen keskustelu tositapahtumista, vai pitikö jonkin Hannulle kateellisen näyttää typeryytensä961625- 391390