Avatar billede cms Nybegynder
25. maj 2002 - 22:46 Der 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?
Avatar billede erikjacobsen Ekspert
25. maj 2002 - 22:53 #1
Bruger du et scriptsprog som fx PHP bagved? Så kan det sagtens gøres.
Avatar billede cms Nybegynder
25. maj 2002 - 22:59 #2
Jeg bruger ASP/JScript. Men jeg ville jo helst nøjes med ét query af hensyn til hastigheden
Avatar billede erikjacobsen Ekspert
25. maj 2002 - 23:03 #3
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?
Avatar billede cms Nybegynder
25. maj 2002 - 23:04 #4
ahh.. Det var da en glimrende idé :)
Jeg fandt ellers lige SELECT ... FOR UPDATE i manualen
var det ikke noget, man kunne bruge?
Avatar billede kimiwan Nybegynder
25. maj 2002 - 23:05 #5
cms: hvilken manual?
Avatar billede kimiwan Nybegynder
25. maj 2002 - 23:07 #6
doh.. mysql manualen selvfølgelig :o) ...sorry
Avatar billede cms Nybegynder
25. maj 2002 - 23:07 #7
Avatar billede cms Nybegynder
25. maj 2002 - 23:07 #8
:)
Avatar billede cms Nybegynder
25. maj 2002 - 23:09 #9
Men jeg gør nu som den kære Erik siger :) (lægger du et svar?)
Jeg kunne blot ikke forstå at/hvis MySQL ikke havde den funktion indbygget.
Avatar billede erikjacobsen Ekspert
25. maj 2002 - 23:18 #10
FOR UPDATE er vist bare noget med at låse felterne - du skal opdatere
dem alligevel
Avatar billede cms Nybegynder
25. maj 2002 - 23:27 #11
Ja jeg kunne heller ikke se nogle eksempler der brugte det.
Men du skal have mange tak for hjælpen :) Det virker perfekt
Avatar billede cms Nybegynder
25. maj 2002 - 23:31 #12
Kan du så lægge et svar!! ;o)
Avatar billede erikjacobsen Ekspert
25. maj 2002 - 23:43 #13
Ja, ja, jeg skulle lige hjælpe konen med et rigtigt saftigt MSSql-problem.
Hvem gider se TV eller lege på eksperten.dk når man har den mulighed.
Avatar billede cms Nybegynder
26. maj 2002 - 01:38 #14
*LOL*
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