High!
und wie immer wäre es gut dazu deine version des mysql-servers zu kennen, dein
Bitteschön: 4.0.25!
tabellendesign und beispieldaten mit dem ergebnis, was rauskommen soll.
Hier im Forum? Das wird aber länglich... willst du das wirklich? Ich bin eigentlich davon ausgegangen, dass meine Beschreibung schon ausreicht...
Na gut:
Tabelle "orgeln" enthält 45 Spalten, relevant sind hier aber nur die Spalten "Nr", "Marke" und "Modell". "Nr" ist der Primärschlüssel, "Marke" referenziert die Tabelle "marken", "Modell" ist ein VARCHAR-Feld, das im Klartext den Modellnamen der jeweiligen Orgel enthält.
Tabelle "marken" besteht nur aus der Spalte "Nr" (Primärschlüssel) und "Markenname" (VARCHAR, Klartext).
Tabelle "klaviaturen" erfaßt alle vorkommenden Typen von Manualen und Pedalen; sie besteht aus den Spalten Klaviatur_Nr (Primärschlüssel), Position (0=Pedal, 1=unteres Manual, 2=oberes Manual, 3=drittes Manual, 4=viertes Manual), Tiefste_Taste, Hoechste_Taste, Anzahl_Tasten, Bauart (z. B. Stummelpedal, Vollpedal, vorspringende Tastatur, Waterfall-Tastatur...).
Eine Orgel ist per definitionem ein Instrument, das mit beiden Händen und beiden Füßen gespielt wird, hat also auf jeden Fall ein Pedal und mindestens ein Manual (andernfalls wäre jedes x-beliebige Keyboard und jedes Gebläse-Kinderspielzeug ebenfalls eine Orgel... dann würde das Projekt völlig unüberschaubar werden, zu den schätzungsweise 10000 Orgelmodellen seit der allerersten Hammond von 1935 kämen mindestens noch einmal 10000 "Tischhupen" hinzu...)
Zwischen "orgeln" und "klaviaturen" besteht folglich eine n:n-Beziehung, also muss eine vermittelnde Relationstabelle her: orgeln_klaviaturen.
In orgeln_klaviaturen hat demnach jede Orgel mindestens zwei (Pedal und erstes Manual), maximal fünf (Orgeln mit mehr als vier Manualen sind nie serienmäßig gebaut worden) Einträge.
In meinem Query-Problem geht es jetzt darum, zweimanualige Orgeln zu finden, bei denen das untere Manual eine andere Tastenzahl hat als das obere, wo also der Eintrag bei Position=1 in Anzahl_Tasten einen anderen Wert hat als der Eintrag bei Position=2... und irgendwie kann ich mir nicht vorstellen, dass dies ohne (vorherige?) Deklaration von Variablen gehen soll!
das buch scheint ein wenig veraltet zu sien, was die version angeht. wenn du eine 4.1 oder höcher hast, würde ich mir ein neues zulegen.
Für den Remote-Server (siehe oben) reicht es in der Tat aus, lokal verwende ich allerdings 5.0 (genauer: 5.0.38)!
Bis bald im Khyberspace!
Yadgar
Now playing: Neumond (Novalis)