dedlfix: Ausgabe über zwei Tabellen, sortiert, und nur jeweils einen Tref

Beitrag lesen

Tach!

Ich möchte aber nur alle Hauptkategorien (tabelle1) und jeweils eine (die erste im ABC) Unterkategorie.

Wenn du nur einen Wert aus der zweiten Tabelle benötigst, dann geht statt des Join ein so genanntes correlated subquery im SELECT. Dieses fragt zur Hauptkategorie alle Unterkategorien ab, sortiert diese wie gewünscht und limitiert auf einen Datensatz. Das SELECT des Subquery darf dann nur genau einen Wert selektieren. Wenn du mehr Werte benötigst, wird das üblicherweise nichts, weil das nur über Joinen geht und da weder sortierung noch Limit angegeben werden kann.

SELECT a.feld, ..., (SELECT feld FROM b WHERE b.x=a.x ORDER BY b.x LIMIT 1) AS b_feld FROM a WHERE ...

(Das Schlüsselwort AS kann entfallen. Ebenso das b_feld, aber damit lässt sich üblicherweise in der Weiterverarbeitung besser auf dieses (berechnete) Feld zugreifen.)

dedlfix.