Hauptmenü

Untermenü

Advanced SQL - Einstiegstutorial 3 - Subselect Teil 3

1. Die Abschnitte

2. Die komplette Abfrage

Und diesmal der Übersichtlichkeit halber tiptop formatiert.


SELECT 
  a.id,
  m1.id AS vonid, 
  m1.name AS von,
  m2.id AS anid, 
  m2.name AS an,
  m3.id AS fuerid, 
  m3.name AS fuer,
  a.preis, 
  a.typ, 
  c.gold,
  w.wesen, 
  s.stufe 
FROM
    (
      SELECT 
        a.id,
        if(a.fuer IS NULLt.mitglieda.fuer) AS fuer,
        t.typ, 
        a.von, 
        a.an, 
        a.preis
      FROM 
        angebot a
      LEFT JOIN 
        tausch t ON (t.angebot a.id)
    )
    AS a
INNER JOIN 
  mitglied m1 ON m1.id a.von
INNER JOIN 
  mitglied m2 ON m2.id a.an
INNER JOIN 
  mitglied m3 ON m3.id a.fuer
INNER JOIN 
  charakter c ON c.id m3.charakter
INNER JOIN 
  stufe s ON s.id c.stufe
INNER JOIN 
  wesen w ON w.id c.wesen


Das Ergebnis

... sieht dann so aus. Ach ja, auch hier musste ich mal wieder Photoshop zu Hilfe nehmen, wegen der Leute mit der kleinen Bildschirmauflösung. Ihr müsst euch also (mal wieder) die Spalten unterhalb des roten Strichs rechts neben der oberen Spalten befindet. Ach was, schaut euch das Ergebnis einfach im MySQL-Frontend eurer Wahl an.

Subselect 3

3. Merke!

Wenn man mit so einen Konstrukt arbeitet, dann muss man ein paar Regeln beachten. Als da wären Folgende.

4. Fazit

Wie ich schon mehrmals erwähnte, sind alle Beispiele aus diesem Tutorial auf den ersten (und auch zweiten) Blick teilweise ziemlich sinnfrei. Aber darauf werde ich bei den folgenden Praxuistutorials eingehen.

zurück zum vorherigen Abschnitt