Hallo jüla,
Tabelle bucher mit id, titel, jgst
Tabelle bücherstapel mit id, jgst, name
Tabelle buch_in_stapel mit id, buchid, stapelid
Heißt due Tabelle jetzt stack, bucherstapel oder bücherstapel?
Was ich nicht hinbekomme ist folgende Abfrage: Alle Bücher einer JgSt, die nicht in dem Stapel mit der stapelid=1 sind.
select *
from bucher
join stack on bucher.JgSt=bücherstapel.JgSt and bücherstapel.id=1
join buch_in_stapel on buch_in_stapel.stapelid=1 and
buch_in_stapel.buchid!=bucher.idDas liefert mir aber zuviel Ergebnisse.
VIelleicht liegts auch nur daran, dass du nach gleich, statt nach ungleich 1 fragst???
Was bedeutet eigentlich jgst?
Wozu brauchst du bei dieser Abfrage die Tabelle Buch_in_stapel? Müsste nicht Folgendes schon alles liefern, was du brauchst:
SELECT * FROM bucher a, bucherstapel b WHERE a.jgst = b.jgst AND b.id != 1
Damit hast du alle Bücher zu einer oder mehreren jgst, deren Stapelnummer nicht 1 ist. Wenn du eine bestimmte jgst willst, musst noch eine Bedingung dafür einfügen.
Vielleicht habe ich aber auch noch nicht alles verstanden.
ciao
romy