• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Tabellenabfrage eine art gruppieren

Cheffchen

Senior HTML'ler
Hallo,

ich brauch ein schups, bin doch zu lange raus.
Es geht um 2 Tabellen verbinden bzw eine Abfrage wo ich auf dem schlauch stehe.

Ziel ist eine Art gruppierung in der Abfrage wenn in der untertabelle ein wert vorkommt soll nichts ausgegeben werden.

Haupttabelle
id,name,...
2, Müller
3, Schulz

Untertabelle
re_id, typ
2,rechts
2,oben
3,rechts
3,unten

PHP:
SELECT id,name, typ FROM `Haupttabelle`
                LEFT JOIN 'Untertabelle' ON re_id = id
                where typ <> 'oben'
So wird id 3 zwei mal und id 2 ein mal ausgegeben
"3 Schulz rechts; 3 Schulz unten; 2 Müller rechts"
Ich möchte aber nur id 3 einmal weil kein 'oben' in Untertabelle und id 2 gar nicht weil 'oben' vorkommt.
"3 Schulz"

Kann mal bitte einer helfen?

Cheffchen
 
Werbung:
Code:
SELECT
  h.id,
  h.name
FROM
  Haupttabelle h
 INNER JOIN (select * from Untertabelle where re_id NOT IN (SELECT re_id from Untertabelle where typ = 'oben')) n on h.id=n.re_id
 group by h.id;

So sollte es gehen, aber geht bestimmt noch schöner...
 
Jap.

Code:
SELECT h.id, h.name
FROM Haupttabelle h
LEFT JOIN Untertabelle u ON (u.re_id = h.id)
WHERE
 h.typ <> 'ober'
 AND u.re_id IS NULL
 
Werbung:
Zurück
Oben