UPDATE projektmedlemmer SET procent = (SELECT 20+procent FROM projektmedlemmer WHERE ansvarlig = 1 and tilbudID = 37027) WHERE tilbudID = 37027
boer virke med en nyere MySQL
UPDATE projektmedlemmer SET procent = procent + 20 WHERE tilbudID = '37027' AND ansvarlig = '1'
Er ikke testet, men tror den fungerer.
OK, har arne_v ikke lavet den lige så enkel, fungerer den nok ikke ;o)
Jeg sidder bare og smaasover uden at taenke saa meget over det, saa du skal ikke forvente for meget fra min side.
De 2 SQL er dog ikke helt ens. Saa vidt jeg kan se vil de opdatere et forskelligt antal raekker, hvis der er flere raekker med samme tilbudsid og forskellig ansvarlig.
Jeg kan så se, jeg glemte at få en betingelse mere med i UPDATE'n, så den kun gør det ved den ansvarlige...
UPDATE projektmedlemmer SET procent = '(20 + SELECT procent FROM projektmedlemmer WHERE ansvarlig = '1' and tilbudID = '37027')' WHERE tilbudID = '37027' AND ansvarlig = '1'
Desværre er MySQL nok ikke ny nok, til at arne_v's løsning virker ikke. Der får jeg følgende fejl.
#1093 - You can't specify target table 'projektmedlemmer' for update in FROM clause
Min din, michael_stim virkede, så den skal se sådanne ud:
UPDATE projektmedlemmer SET procent = (SELECT 10+procent) WHERE tilbudID = 37027 AND ansvarlig = '1'
og testede lige for om jeg skulle have SELECT foran 10, men det er ikke nødvendigt.
He. Så var det jo lige præcis Michaels funktionalitet du skulle bruge.
Nemlig, så Michael tro mere på dig selv næste gang... ;-)
Smider du også lige et svar
Men skriver jeg noget og "guruen" skriver noget andet, har jeg en tendens til at tro på Arnes forslag. Og jeg har desværre nok ret i 90% af tilfældende ;o)
Samler ikke på point, ellers tak.
He he, det kan du have ret i, men nu gjorde jeg det jo heller ikke lige frem nemmere for "guruen", ved ikke at oplysning hvilken version af MySQL jeg kører. Så jeg kan da ikke afvise, at hans forslag ikke også virker, bare ikke på min løsning.
Men tak for hjælpen.