Spezielle DB-Abfrage (Query-Frage)

saila

Erfahrenes Mitglied
Hi,

in einer DB sind zwei Tabellen. Bzgl. Abfragespalten und LEFT JOIN ist soweit alles (von meiner Sicht) klar. Nun geht es in der 1. Tabelle darum, Datumsangaben, welcher per timestamp (PHP) gespeichert wurden zu sortieren. Soweit auch kein Problem.

Allerdings bei der Ausgabe soll lediglich ein einziges Ergebnis ausgegeben werden. Es handelt sich um Kommentare zu Bildern. Diese werden sortiert vom neuesten bis zum ältesten ausgegeben. Da jedoch manchmal jedoch ein Bild mehrere Kommentare hat und diese aus Datumssicht am gleichen Tag geschrieben wurden, ist nun in der Ausgabe das Bild mit dem Kommentarhinweis doppelt.

Wie kann man die Doppelte Ausgabe vermeiden, so dass lediglich das Bild ein einziges mal erscheint?
 
PHP:
<?php
	$con = mysql_query("SELECT
							psd_ga_com.tbl_id,
							psd_ga_com.tbl_bildid,
							MIN(psd_ga_com.tbl_bildid),
							psd_ga_com.tbl_userid,
							psd_ga_com.tbl_date,
							psd_ga.tbl_id AS bid,
							psd_ga.tbl_hctid,
							psd_ga.tbl_catid,
							psd_ga.tbl_userid,
							psd_ga.tbl_name,
							psd_ga.tbl_datei,
							psd_ga.tbl_aufrufe,
							psd_ga.tbl_width,
							psd_ga.tbl_height,
							psd_ga.tbl_date,
							psd_ga.tbl_downl,
							psd_ga.tbl_comments,
							psd_ga.tbl_bewertung,
							psd_ga.tbl_free
		   				FROM
		   					psd_ga_com
		   					LEFT JOIN psd_ga ON (psd_ga.tbl_id = psd_ga_com.tbl_bildid)
		   				GROUP BY
		   					psd_ga_com.tbl_bildid, psd_ga_com.tbl_date
		   				ORDER BY
		   					psd_ga_com.tbl_date
		   				DESC LIMIT
		   					$_OFFSET_, ".$_SITE_LIMITER) or die (nofunction());
?>

Das ist vorläufig mein Query. Und meine Quasilösung ist über PHP selbst (vorerst - was nicht korrekt funktioniert):

PHP:
<?php
$it = -1;
while($a = mysql_fetch_object($con)) {
if($a->tbl_datei != '') {
  $it = $a->tbl_bildid;
}
....
?>
 
Zurück