Hallo leuts, ich bin wieder mal nach der Suche nach Prof. Hile
Ich möchte gerne eine Tabelle updaten mithilfe von Innerjoin.
Ich habe also mehrere Tabellen (es geht um videothek webseite)
Tabellen: Movies, Inventar, Verleihliste, Users
Tabelle movies:
m_id, titel,description
Tabelle: Inventar
m_id(reference zu movies), bar_id (primary_key), preis_category
Tabelle: Verleihliste:
v_id (verleih_id), bar_id (reference zu inventar bar_id), u_id (wer den Film geliehen hat),
startdate, enddate
Users Tabelle:
u_id, name, vorname, email, etc…
Jetzt möchte ich anhand der u_id und der m_id (movieId) die verleihliste updaten. Also das Enddate Datensatz auf aktuelles datum setzte. Ich bekomme jedoch immer zwei datensätze und es werden immer zwei datensätze upgedatet, also auch movies die nicht abgegeben werden. Wenn ich also movie mit id=1 abgebe, so wird auch movie mit Id=2 auf abgegeben gesetzt (also enddate auf actal date heist abgegeben, ansonsten ist es NULL als default)
meine query:
UPDATE verleihliste set enddate=actualDate
FROM (verleihliste as v INNER JOIN inventar ON v.bar_id=inventar.bar_id)
where inventar.m_id=1 and v.u_id=1;
was mache ich da falsch??
es muss ja der Film mit der ID=1 abgedatet werden, und der Film wurde von User mit der ID=1 ausgeliehen??? Warum daten er auch andere filme ab???