Avatar billede l3xu5 Nybegynder
01. maj 2007 - 15:55 Der er 3 kommentarer og
1 løsning

update af felt fra anden tabel med where ID = ID i statementet?

Hej,

Jeg sidder med et problem hvor jeg har 2 tabeller hvori den ene indeholder en masse bruger data, ID, username, ect. og et tomt felt. Den anden tabel indeholder kun ID og værdien som jeg ønsker skal være i det tomme felt fra tabel1.

mit problem ligger i hvordan jeg får værdien flytet over i de rigtige felter altså så ID værdien fra tabel1 = ID værdien fra tabel2 i et eller andet WHERE tbusers.ID = tbusers2.ID statement.

Normalt ville jeg bare skrive følgende:

UPDATE tbusers
SET FeltX = '56'
where ID = 233

men da det er noget der ligner 500 users der skal updates søger jeg en nemmere løsning så som at overføre fra en anden tabel.
Avatar billede arne_v Ekspert
02. maj 2007 - 04:09 #1
i nyere MySQL kan du:

UPDATE tabel1 SET felta=(SELECT feltb FROM tabel2 WHERE tabel1.feltc=tabel2.feltd)
Avatar billede l3xu5 Nybegynder
02. maj 2007 - 09:29 #2
Jeg kører med mysql 4.1 i øjeblikket og det ser ikke ud til at den vil virke der.
Har du erfaring med andre måder at gøre det på ? så som kommasepereret fil eller lign ?
Avatar billede l3xu5 Nybegynder
02. maj 2007 - 11:51 #3
jeg fandt metoden til at gøre det:

update t1, t2 set t1.field = t2.value where t1.this = t2.that;

men smid et svar for point som tak for hjælpen Arne_v :-)
Avatar billede arne_v Ekspert
27. maj 2007 - 04:45 #4
den burde faktisk virke i 4.1

men where betingelse skal være så den kun returnerer en enkelt værdi

nå et svar anyway
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester