25. maj 2002 - 22:46Der er
13 kommentarer og 1 løsning
Avanceret UPDATE - med JOIN?
Hejsa :) Jeg har med hjælp fra a1 fået lavet et SELECT-query:
SELECT tabel1.owner FROM tabel1 LEFT JOIN tabel2 ON tabel1.owner = tabel2.owner AND tabel2.user='mig' WHERE tabel2.owner IS NULL AND tabel1.kategori=2 AND tabel1.owner<>'admin'
Jeg vil nu gerne lave en UPDATE-query, der påvirker netop de rækker, som kommer ud af denne SELECT-query. Men jeg kan tilsyneladende ikke bruge LEFT JOIN i UPDATE-queriet. Hvordan gør jeg så? Skal jeg lave et temporært table - og hvordan kører man UPDATE på sådan ét?
Så du er ikke meget for at samle id-erne (eller hvad du nu har som primær nøgle) på de rækker du vil opdatere (med den SELECT du har), og så fyre den her af:
update dintabel set user='mig' where id in (7,9,13)
hvis felterne hed 7,9,13. Du kan opdatere vilkårligt mange i én update på denne måde. Hvorfor er du bekymret for hastigheden?
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.