srob: [mysql] Frage zu Update

Beitrag lesen

Hi,

Was ich möchte ist, dass alle Stundeneinträge in stunden auf gebucht=1 gesetzt werden bei denen die pid=5 ist und wo die kstelle der Users 10 ist. Also lediglich stunden.id=2.

falls Deine MySQL-Version dazu in der Lage ist, könntest Du:

1. einen Subselect in der WHERE-Bedingung einsetzen:

UPDATE blah
       SET blah
       WHERE (pid = 5) AND (uid IN (SELECT id FROM user WHERE kstelle = 10))

2. einen Join in der WHERE-Bedingung machen (ab V4.0x oder so...):

UPDATE stunden,user
       SET stunden.gebucht = 1
       WHERE (stunden.pid = 5) AND (stunden.uid = user.id) AND (user.kstelle = 10)

HTH Robert