DISTINCT auf mehere Tabellen

quidnovi

Erfahrenes Mitglied
DISTINCT auf mehrere Tabellen

Hi folks,

mit dieser Abfrage:

PHP:
// Einträge aus DB anzeigen
	$sql = "SELECT Haupt.*,Unter_1.*,Seiten.* FROM ".
	       $hk." Haupt INNER JOIN ".$uk_1." Unter_1 ".
	       "ON Haupt.id = Unter_1.hkId ".
	       "INNER JOIN ".$seiten." Seiten ".
	       "ON Seiten.hk = Unter_1.id ".
	       "AND Haupt.status = 1 ".
	       "AND Unter_1.status = 1 ".
	       "AND Seiten.status = 1";
	$res = mysql_query ($sql) or die (mysql_errno() . mysql_error()."<br />".$sql);
    //echo $sql."<p />";

	while($row=mysql_fetch_object($res)){
		echo "<font color='red'>".$row->hkName . "</font><br />" .
		     "&nbsp;&nbsp; <font color='#6AB5FF'>- " . $row->uk_1Name . "</font><br />" .
		     "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - " . $row->name . "<p />";
	}

Erklärung Mysql Tabellen:
"Haupt" = Hauptkategorie
"Unter_1" = Unterkategorie 1
"Seiten" = HTML Seiten

erhalte ich folgendes Ergebnis:
Kfz Beschriftung
- Pkw
- Front

Kfz Beschriftung
- Pkw
- Seite

Kfz Beschriftung
- Pkw
- Heck

Displays
- Rollup
- Typ A

Displays
- Rollup
- Typ B

...

Erklärung:
"KFZ - Beschriftunge" - Hauptkategorie
"PKW" die zugehörigen Unterkategorie
"Front, Seite, Heck" HTML Seiten der Unterkategorie "PKW"

"Displays" - Hauptkategorie
"Rollup" die zugehörigen Unterkategorie
"Typ A, Typ B" HTML Seiten der Unterkategorie "PKW"

Nun soll die Ausgabe so aussehen:

Kfz Beschriftung
- Pkw
- Front
- Seite
- Heck

Displays
- Rollup
- Typ A
- Typ B

DISTINCT funktioniert leider nicht.

Habe aber da noch ein Problem:
Ich bekomme Hauptkategorien und Unterkategorien, denen keine Seite zugeordnet ist, nicht angezeigt.
z.B.: Hauptkategorie LKW, Straßenbahnen,... mit den dazugehörigen Unterkategorien

Trotz Suche im Internet habe ich leider keine Lösung gefunden.

Helft mir bitte auf die Sprünge, danke.
 
Zuletzt bearbeitet:
Zurück