Join ja Update

Jackrabt

Hei.

Miten saan siirrettyä tietoa toisesta taulusta toiseen?

Eli esim. miten saan taulusta 2 siirrettyä A:lle ja C:lle uudet viim_ostos_2-kentän arvot tauluun 1? Avaimena on tietty Asiakas_nro ja taulujen kenttätyypit ovat samat.

Kyseessä on siis MSSQL 2005

Ao. lause on ilmeisesti sinnepäin:

update Taulu1
set viim_ostos_1=viim_ostos_2
where Taulu1.Asiakas_nro_1=Taulu2.Asiakas_nro_2

Taulu1
Asiakas_nro_1, viim_ostos_1
0001, 010101
0002, 020202
0003, 030303

Taulu2
Asiakas_nro_2, viim_ostos_2
0001, 070707
0003, 060606

1

430

    Vastaukset

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

      Mikkisoftan SQL-variantista minulla ei ole tietoa, mutta oletan, että tämä MySQL-lause antaa riittävästi apua:


      UPDATE Taulu1

      SET viim_ostos_1 =
      ( SELECT viim_ostos_2 FROM Taulu2
      WHERE Taulu1.Asiakas_nro_1 = Taulu2.Asiakas_nro_2 )

      WHERE Taulu1.Asiakas_nro_1 IN ( SELECT Asiakas_nro_2 FROM Taulu2 ) ;


      Tässä siis päivitetään taulun yhtä kenttää normaalisti set-komennolla. Epätavallista kai on vain se, että päivitettävä arvo haetaan selectillä toisesta taulusta.

      Oletin tuossa, että Taulu1 sisältää laajan asiakasrekisterin ja Taulu2 sisältää tapahtumia joillekin asiakkaille, eli Taulu2:n asiakkaat ovat Taulu1:n asiakkaiden osajoukko. Siksi tuossa on where-ehto, jossa haetaan Taulu2:ssa olevat asiakkaat, ja näitten asiakkaiden viimeistä ostosta päivitetään Taulu1:ssä.

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

    Luetuimmat keskustelut

    1. Mistä puhuitte viimeksi kun näitte

      Kerro yksi aiheista
      Ikävä
      80
      5659
    2. Olenko saanut sinut koukkuun?

      Hyvä. Rakastan sua.
      Ikävä
      127
      3943
    3. ROTAT VALTAAVAT ALUEITA

      Asukkaat nyt loukkuja tekemään ja kiireellä, jätehuolto kuntoon, jätteet niille kuuluville paikoille, huomioikaa yrittäj
      Äänekoski
      45
      3820
    4. Se on hyvästi

      Toivottavasti ei tavata.
      Ikävä
      66
      3504
    5. 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 🤔❤️
      Ikävä
      26
      2888
    6. Alavuden sairaala

      Säästääkö Alavuden sairaala sähkössä. Kävin Sunnuntaina vast. otolla. Odotushuone ja käytävä jolla lääkäri otti vastaan
      Ähtäri
      7
      2419
    7. Sisäsiittosuus

      Tämän kevään ylioppilaista 90% oli sama sukunimi?
      Suomussalmi
      27
      2184
    8. Kerro todelliset motiivit

      kaivattuasi kohtaan?
      Ikävä
      204
      2091
    9. 33
      1879
    10. Reuters: 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äh
      NATO
      430
      1752
    Aihe