romy: Bekomme Abfrage nicht hin

Beitrag lesen

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.id

Das 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