Marcus Halba: Abfrage aus 4 Tabellen

Beitrag lesen

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