Hallo Zusammen,
ich habe folgende Aufgabe, die mich und meine rudimentären SQL-Kenntnisse scheitern lässt.
Es gibt vier Tabellen:
1.Tabelle (Artikel) Unique-ID: Artikel_ID
2.Tabelle (Kategorie) Unique-ID: Kategorie_ID
3.Tabelle (Attribut) Unique-ID: Attribut_ID
4.Tabelle (relationArtikel2Kategorie) Unique-ID: RA2C_ID
5.Tabelle (relationArtikel2Attribut) Unique-ID: RA2A_ID
Ich möchte jetzt drei verschiedene Abfragen tätigen:
1. Abfrage: Zeige mir alle Artikel aus der Kategorie "Holz" sortiere nach Preis.
In der Tabelle "relationArtikel2Kategorie" gibt es neben der Zuordnungs-ID (RA2C_ID) die Felder 'Artikel_ID' und 'Kategorie_ID' in der die Beziehung zu den Artikel und zu den Kategorien festgelegt wird. Wenn ich jetzt besagte Abfrage mache, soll nach der Preis-Spalte (Artikel_Preis) in der Artikel-Tabelle sortiert werden, aber nur die Artikel die laut "relationArtikel2Kategorie" der Kategorie "Holz" zugeordnet sind.
2. Abfrage: Zeige mir alle Artikel aus der Kategorie "Keramik" sortiere nach dem Attribut-Wert von "Gewicht".
In der Tabelle "Attribut" wird eingetragen, welche Attribute es gibt (Unique-ID ist 'Attribut_ID'). In der Tabelle "relationArtikel2Attribut" werden die vorhandenen Attribute über die Felder 'Artikel_ID' und 'Attribut_ID' dem Artikel zugeordnet. Außerdem wird in der Tabelle´"relationArtikel2Attribut" auch der Wert für dieses Attribut festgelegt, z.B.: 800 Gramm. Die Abfrage soll mir also alle Artikel anzeigen, die laut Tabelle "relationArtikel2Kategorie" in der Kategorie "Keramik" sind, das Attribut Gewicht haben und dann nach dem Gewichts-Wert sortieren.
3. Abfrage: Zeige mir alle Artikel aus der Kategorie "Plastik" die das Attribut "handbemalt" haben
Wie oben erwähnt: In der Tabelle "Attribut" wird festgelegt, dass es das Attribut "handbemalt" gibt. In der Tabelle "relationArtikel2Attribut" wird über die Felder 'Artikel_ID' und 'Attribut_ID' festgelegt, dass der Artikel das Attribut "handbemalt" hat und der Attribut-Wert steht somit einfach auch 1.
Ich hoffe inständig, dass mir jemand helfen kann.
Vielen Dank im voraus
Marcus Halba