Besonderer Selection!

Seven Secrets

Erfahrenes Mitglied
Hallo,

ich habe eine Datenbank in der sich Ärzte nach Fachrichtungen eintragen sollen. Aus dieser Datenbank soll dann auch die Navigation erzeugt werden. Hier nun mein Problem. Ich möchte, das die Fachrichtungen als Navigation angezeigt werden. Dieser teil ist kein Problem und fertig umgesetzt. Nun wirft mich folgendes aus dem Konzept. So bald ich zwei Ärzte gleicher Fachrichtung habe, werden zwei gleich Menüpunkte erzeugt, was ich jedoch nicht möchte. Ich möchte, das alle Fachrichtungen aus dieser Datenbank einmal angezeigt werden. In dem Untermenüt dann nur die jeweiligen Ärzte.

Wie kann ich das bewerkstelligen, das ich eine Liste erhält mit allen eingetragenen Fachrichtungen, die dann aber jeweils nur einmal?
 
da steige ich jetzt nicht hinter!

SQL_SMALL_RESULT, eine MySQL-spezifische Option, kann bei GROUP BY oder DISTINCT benutzt werden, um dem Optimierer mitzuteilen, dass der Ergebnissatz klein sein wird. In diesem Fall benutzt MySQL schnelle temporäre Tabellen, um die Ergebnistabelle zu speichern, anstatt Sortieren zu benutzen. In MySQL-Version 3.23 sollte das normalerweise nicht benötigt werden.

Sagt das nicht nur aus, das die Tabelle in der Datenbank beim anlegen anders verwendet wird?
 
Mit dieser Funktion werden dann alle doppelten und mehrfacheinträge ignoriert und dann nur die unterschiedlichen ausgegeben? Ich kann mir die Funktion gerade nicht vorstellen.
 
Ich denke wir versteh uns hier gerade falsch! Die Daten dieser Spalte sehen so aus:

Allgemienmedinzin
Chirurgie
Gynäkologie
Allergologie
Zahnarzt
Allgemienmedinzin
Gynäkologie
Allergologie
Gynäkologie
Allergologie
Zahnarzt

Nun stehen da ja z.B. die Allgemeinmedizin und Allergologie mehrmals drin. Die Navigation soll aber so aussehen:

Allgemienmedinzin
Chirurgie
Gynäkologie
Allergologie
Zahnarzt

Wie bekomme ich das hin?
 
Genau dazu ist die DISTINCT-Klausel und DISTINCT()-Funktion da.
Code:
SELECT DISTINCT
        `fachrichtung`
  FROM
        …
Beziehungsweise:
Code:
SELECT
        DISTINCT(`fachrichtung`)
  FROM
        …
 
Das heißt, ich rufe die Tabelle so wie oben beschrieben auf und bekomme als Array nur die unterschiedlichen Inhalte?! Oder sollte ich das noch genauer definieren?
 
Zurück