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
717
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
- 805689
- 1273943
ROTAT VALTAAVAT ALUEITA
Asukkaat nyt loukkuja tekemään ja kiireellä, jätehuolto kuntoon, jätteet niille kuuluville paikoille, huomioikaa yrittäj453850- 663524
Miten minusta tuntuu että kaikki tietää sun tunteista mua kohtaan
Paitsi suoraan minä itse, vai mitä hlvettiä täällä tapahtuu ja miksi ihmiset susta kyselee minulta 🤔❤️262908Alavuden sairaala
Säästääkö Alavuden sairaala sähkössä. Kävin Sunnuntaina vast. otolla. Odotushuone ja käytävä jolla lääkäri otti vastaan72447- 272194
- 2042101
Siekkilässä ajettu ihmisten yli- mitä tapahtui? Länsi-Savo ei ole uutisoinut asiata
Manneja, vaiko matuja?331949Reuters: Ukraina on iskenyt Venäjän strategisia pommikoneita vastaan. Jopa 40 konetta vahingoittunut
Ukrainan turvallisuuspalvelu SBU on iskenyt Venäjän strategisia pommikoneita vastaan, kertoo Reuters. Uutistoimiston läh4321769