Avatar billede topceres Nybegynder
27. april 2008 - 18:03 Der er 6 kommentarer og
1 løsning

Append 2 tabeller med clause

Hejsa,

jeg har to tabeller i en db, lad os for arguments sake sige, at tabel 1 indeholder en ID (primary key) samt en tekst. Tabel 2 indeholder bl.a. samme ID (primary key) felt og et tomt felt til teksten. Jeg vil gerne have værdierne fra tabel1.tekst over i tabel2.tekst hvor ID er lig ID, så at sige... men jeg kan ikke helt lure, hvordan jeg bærer mig ad...?
Avatar billede arne_v Ekspert
27. april 2008 - 18:09 #1
hvis nyere MySQL bør du kunne:

UPDATE tabel2 SET tekst = (SELECT tekst FROM tabel1 WHERE tabel1.id = tabel2.id)
Avatar billede topceres Nybegynder
27. april 2008 - 18:16 #2
100 tak for hurtigt svar.

MySQL 5.0.45 ... men jeg fik følgende error retur:

#1242 - Subquery returns more than 1 row
Avatar billede topceres Nybegynder
27. april 2008 - 18:18 #3
Hov, det er muligvis fordi primary key består af en komb. af to felter ... hvad gør jeg så i min where? (er ikke så hård til at forstå keys..) :-)
Avatar billede topceres Nybegynder
27. april 2008 - 18:23 #4
med en AND selvfølgelig, jeg skal lære lige at tænke før jeg skriver ;-) ser ud til at virke, checker lige :-)
Avatar billede topceres Nybegynder
27. april 2008 - 19:07 #5
Jeg får kun ca. 40% af dataene med over, forstår det simpelthen ikke. Metoden burde være fin ... men har du en idé til, hvorfor søren det kan være noget kommer med og noget ikke. Ved stikprøver er der ikke nogen fællesnævner ved det, der ikke kommer med - og heller ikke nogle særlige tegn eller lignende (typen af beskr og beskrivelse er "text", varenummer og model er "varchar")...?

UPDATE xx1 SET beskr = (SELECT beskrivelse FROM xx2 WHERE xx2.varenummer = xx1.varenummer AND xx2.model = xx1.model)
Avatar billede topceres Nybegynder
27. april 2008 - 21:30 #6
Arne_v, send et svar, din metode er jeg sikker på var ganske fornuftig, det spillede bare ikke helt for mig - men point skal du da have. Jeg lavede et lille php script istedet som løb det igennem, så var det klaret.
Avatar billede arne_v Ekspert
28. april 2008 - 01:38 #7
OK
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