31. oktober 2004 - 15:15Der er
11 kommentarer og 1 løsning
UPDATE med joins
Jeg skal foretage en opdatering, hvor jeg skal sætte felt = '1', men KUN på alle de felter som kommer fra dette SQL select-statement:
SELECT custody.email FROM custody INNER JOIN custodyPupil ON custodyPupil.custodyId = custody.id INNER JOIN pupil ON custodyPupil.pupilId = pupil.id WHERE pupil.class_year = '2002' AND pupil.class_letter = 'a' AND custody.email NOT LIKE '';
Jeg kan ikke lure hvordan jeg omdanner det til update (vil tilsyneladende ikke acceptere joins...)
"Starting with MySQL Version 4.0.4, you can also perform UPDATE operations that cover multiple tables: UPDATE items,month SET items.price=month.price WHERE items.id=month.id;"
Nu ved jeg ikke lige hvilket felt i hvilken tabel du vil opdatere, men hvis vi antager at det er f.eks. "counter" in "custody", så er syntaksen noget der ligger meget tæt på:
UPDATE custody, custodyPupil, pupil, SET custody.counter = 1 WHERE custodyPupil.custodyId = custody.id AND custodyPupil.pupilId = pupil.id AND pupil.class_year = '2002' AND pupil.class_letter = 'a' AND custody.email NOT LIKE '';
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.