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

606

    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. Kotkalainen Demari Riku Pirinen vangittu Saksassa lapsipornosta

      https://www.kymensanomat.fi/paikalliset/8081054 Kotkalainen Demari Riku Pirinen vangittu Saksassa lapsipornon hallussapi
      Kotka
      85
      2287
    2. Olen tosi outo....

      Päättelen palstajuttujen perusteella mitä mieltä minun kaipauksen kohde minusta on. Joskus kuvittelen tänne selkeitä tap
      Ikävä
      18
      2257
    3. Vanhalle ukon rähjälle

      Satutit mua niin paljon kun erottiin. Oletko todella niin itsekäs että kuvittelet että huolisin sut kaiken tapahtuneen
      Ikävä
      18
      1700
    4. Oletko sä luovuttanut

      Mun suhteeni
      Ikävä
      104
      1458
    5. Maisa on SALAKUVATTU huumepoliisinsa kanssa!

      https://www.seiska.fi/vain-seiskassa/ensimmainen-yhteiskuva-maisa-torpan-ja-poliisikullan-lahiorakkaus-roihuaa/1525663
      Kotimaiset julkkisjuorut
      92
      1416
    6. Hommaatko kinkkua jouluksi?

      Itse tein pakastimeen n. 3Kg:n murekkeen sienillä ja juustokuorrutuksella. Voihan se olla, että jonkun pienen, valmiin k
      Sinkut
      163
      1248
    7. Aatteleppa ite!

      Jos ei oltaisikaan nyt NATOssa, olisimme puolueettomana sivustakatsojia ja elelisimme tyytyväisenä rauhassa maassamme.
      Maailman menoa
      257
      1042
    8. Mitä sanoisit

      Ihastukselle, jos näkisitte?
      Tunteet
      63
      943
    9. Onko se ikä

      Alkanut haitata?
      Ikävä
      78
      909
    10. Omalääkäri hallituksen utopia?

      Suurissa kaupungeissa ja etelässä moinen onnistunee. Suuressa osassa Suomea on taas paljon keikkalääkäreitä. Mitenkäs ha
      Maailman menoa
      174
      893
    Aihe