Hallo zusammen,
Ich muss für ein Schulprojekt eine Datenbank mit PostgreSQL erstellen.
Dafür habe ich in meiner Datenbank ein neues Schema erstellt.
Dieses Schema beinhaltet drei Tabellen: Schulzimmer, Schueler und SchuelerZimmer.
Die Tabellen haben folgende Attribute.
Schulzimmer
id
stock
zimmerNummer
Schuelerid
name
vorname
schuelerzimmerID
SchuelerZimmerid
schulzimmerID
schuelerZimmerID
Ein Schüler hat in einem oder mehreren zimmern Unterricht.
Pro Zimmer hat mindestens ein oder mehrere Schüler Unterricht.
Nun wenn ich folgende Abfrage mache:
SELECT a.name, a.vorname, b.stock, b.zimmerNummer
FROM schueler a, Schulzimmer b
WHERE a.schuelerzimmerID IN (SELECT id from schuelerZimmer WHERE schuelerZimmerID = a.id AND schuelerZimmerID = b.id)
Dabei erhalte ich diesen Fehler:
FEHLER: Spalte a.schuelerzimmerID existiert nicht
SQL state: 42703
Hint: Vielleicht wurde beabsichtigt, auf die Spalte „a.schuelerzimmerID “ zu verweisen.
Danach muss ich die Abfrage so umschreiben, damit es funktioniert.
SELECT a.name, a.vorname, b.stock, b.zimmerNummer
FROM schueler a, Schulzimmer b
WHERE a."schuelerzimmerID" IN (SELECT "id" from "schuelerZimmer" WHERE "schuelerZimmerID" = a.id AND "schuelerZimmerID" = b.id)
Meine Frage, ist das Normal oder habe ich irgendwo einen Fehler gemacht. So einen Fehler habe ich noch nie gesehen.