SQL-kysymys

Dangera

Otetaan yksinkertainen esimerkki havainnollistamaan kysymystäni. Minulla on kaksi taulua joissa on sarakkeet: NIMET(hlo_id, etunimi, sukunimi, ammatti_id) AMMATIT(ammatti_id, ammatti) Kuvitellaan, että haluan siirtää ammatit-taulun ammatti-sarakkeen sisällöt nimet-tauluun (ottamatta nyt kantaa siihen onko se rakenteen kannalta järkevää). Onnistuuko se niin, että nimet-taulun ammatti-id vastaa ammatti-saraketta? Olen kokeillut select intoa, mutta se tuo päivitettävään tauluun vain kummallisia null-rivejä?

5

623

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • The Rat

      Mitä nyt siis haetaan takaa? Ettäkö Nimet -tauluun lisättäisiin rivejä, joille tulisi ammatti johonkin kenttään ja ammatti_id omaan kenttäänsä? Vai onko tarkoitus lisätä sarake ammatti ja kopioida sitten Ammatit-taulusta oikea arvo? Vai päivitetäänkö henkilön ammatti tekstimuodossa johonkin sarakkeeseen Nimet -taulussa?

      • Dangera

        Nimet-tauluun pitää saada ammatit ammatti-taulusta niin, että ammatti-id:t täsmäävät eli ihmisille tulee oikeat ammatit!


      • The Rat
        Dangera kirjoitti:

        Nimet-tauluun pitää saada ammatit ammatti-taulusta niin, että ammatti-id:t täsmäävät eli ihmisille tulee oikeat ammatit!

        Mihin kenttään? Tuossa taulussa kun ei ole valmiina ammatti-kenttää. Jos se oikeasti tarvitaan, niin sitten ensin alter tablella (tai jollain hallintavälineellä) kenttä lisää ja sitten update:lla päivitys: update nimet set ammatti = (select ammatti from ammatit where ammatit.ammatti_id = nimet.ammatti_id); Nythän tuo tosin on mukavasti normaalimuotoista dataa, eli haettaessa yhdistettäisiin nuo kaksi taulua ammatti-id:n perusteella (where-ehtoon). select * from nimet, ammatit where nimet.ammatti_id = ammatit.ammatti_id;


      • Dangera
        The Rat kirjoitti:

        Mihin kenttään? Tuossa taulussa kun ei ole valmiina ammatti-kenttää. Jos se oikeasti tarvitaan, niin sitten ensin alter tablella (tai jollain hallintavälineellä) kenttä lisää ja sitten update:lla päivitys: update nimet set ammatti = (select ammatti from ammatit where ammatit.ammatti_id = nimet.ammatti_id); Nythän tuo tosin on mukavasti normaalimuotoista dataa, eli haettaessa yhdistettäisiin nuo kaksi taulua ammatti-id:n perusteella (where-ehtoon). select * from nimet, ammatit where nimet.ammatti_id = ammatit.ammatti_id;

        käy..mutta toiseen tauluun yrittäessä samalla periaatteella tulee error että multiple rows returned by subquery. Missä vika?


      • The Rat
        Dangera kirjoitti:

        käy..mutta toiseen tauluun yrittäessä samalla periaatteella tulee error että multiple rows returned by subquery. Missä vika?

        Kaksi riviä samalla ID:llä. Määritä primary keyksi tai muuten uniikiksi, niin ei pääse syntymään.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Janne Ahonen E R O A A

      Taas 2 lasta jää vaille ehjää perhettä!
      Kotimaiset julkkisjuorut
      156
      2791
    2. En kai koskaan saa sinua

      Koska et usko että riitäisit minulle. Olet aina pitänyt itseäsi liian risana ja heikkona. Katkot korkeutesi, ja poraat k
      Ikävä
      154
      1709
    3. Terveystalon lääkärit ylilaskuttaneet

      Tämän pörriäiset osaavat, laskuttamisen. Terveystalo myöntää asian. https://www.hs.fi/suomi/art-2000011134269.html "K
      Maailman menoa
      146
      1694
    4. Saran ökytyyli käänsi katseita.

      On nyt kyllä Sara kasvoistaan, kuvan perusteella todellakin pyöristynyt ainakin kuvan perusteella.
      Kotimaiset julkkisjuorut
      150
      1443
    5. Nyt on aika laittaa parit selkoon.

      Onko pareja täällä. Laita kirjaimet kuka tykkää kenestäkin ?
      Ikävä
      71
      1407
    6. Työttömille lusmuille luvassa lisää keppiä

      Hallitus aikoo kiristää velvoitteiden laiminlyönnistä seuraavia työttömyysturvan karensseja ensi vuodesta alkaen. Hall
      Maailman menoa
      322
      1292
    7. The Summit Suomi: Maxie avaa hyytävästä tilanteesta kuvauksissa: "Veri roiskui ja tajusi, että..."

      Oletko seurannut The Summit Suomea? Tykkäätkö vai et tai mitä mieltä ylipäätään olet sarjasta? Moni katsoja on kaikonnut
      Tv-sarjat
      18
      1211
    8. Ootko huomannut miten

      pursuat joka puolelta. Sille joka luulee itsestään liikoja 🫵🙋🏻‍♂️
      Ikävä
      156
      1016
    9. Tekisi niin mieli laittaa sulle viestiä

      En vaan ole varma ollaanko siihen vielä valmiita, vaikka halua löytyykin täältä suunnalta, ja ikävää, ja kaikkea muuta m
      Ikävä
      62
      977
    10. Miksi ihmeessä?

      Erika Vikman diskattiin, ei osallistu Euroviisuihin – tilalle Gettomasa ja paluun tekevä Cheek
      Ateismi
      25
      975
    Aihe