Molempipuolinen liitos

MySQL:ssa

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

2

749

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • ...

      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

    1. Mitkä asiat

      tekevät vaikeaksi kohdata kaivattusi?
      Ikävä
      74
      904
    2. Miltä se tuntuu

      Miltä se tuntuu havahtua, että on ollut ihmistä kohtaan, joka on rakastanut ja varjellut, täysi m*lkku? Vai havahtuuko s
      Ikävä
      104
      768
    3. 60
      752
    4. Rakas

      Eihän se tietysti minulle kuulu, mutta missä sinä olet? 😠
      Ikävä
      43
      704
    5. Haluaisitko oikeasti

      Vakavampaa välillemme vai tämäkö riittää
      Ikävä
      49
      654
    6. Pidit itseäsi liian

      Vanhana minulle? Niinkö?
      Ikävä
      45
      653
    7. En mahda sille mitään

      Olet ihanin ja tykkään sinusta todella paljon.
      Ikävä
      31
      629
    8. Mitä se olisi

      Jos sinä mies saisit sanoa kaivatullesi mitä vain juuri nyt. Ilman mitään seuraamuksia yms. Niin mitä sanoisit?
      Ikävä
      34
      577
    9. Joko olet luovuttanut

      Mun suhteen?
      Ikävä
      50
      570
    10. Sinunkin pitää jättää

      Se kaivattusi rauhaan.
      Ikävä
      38
      516
    Aihe