Doppelte Datensätze aus der SQL Abfrage entfernen

noisy

Mitglied
Moinson,

wieder mal ein kleines Problem. Ich mache eine Abfrage auf meiner DB und bekomme eine Anzahl von Datensätzen zurück, die unter Umständen auch
doppelte Datensätze enthält. Dass ist soweit ok, aber wenn ich dass nun ausgebe, will ich die doppelten Datensätze vorher entfernen. Anbei ein bissl
Code, kann jemand weiterhelfen?

PHP:
$db->query("SELECT *, UC.role FROM tbl_user AS U LEFT JOIN tbl_usr_course AS UC ON U.UserID = UC.User_ID WHERE UC.role='".$role."' AND Course_ID = '".$KursID."'");
$query0 = $db-> query_id;
while ($row = $db->fetch_object($query0)) {
...
...
...
}

Danke vorab!

Noisy
 
Füge doch einfach DISTINCT in Deine Anfrage ein (also z.B. SELECT DISTINCT * FROM ...). Dann eliminiert die Datenbank automatisch Duplikate und Du mußt das nicht selber coden...
 
Wenn es so nicht geht, dann halt auf die "harte Tour" *händereib*

Also...du machst ganz einfach eine MySQL Abfrage, darin machst du eine zweite Abfrage, in der du mit WHERE... festlegst, welche Felder verglichen werden sollen.
Aus der zweiten Abfrage ziehst du etwas raus, womit du den doppelten Eintrag identifizieren kannst z.b. eine ID.
Mit dieser ID löscht du diesen eintrag mit einem MySQL Query.

So, alles kla ?! ;-)
Kann sein dass es LEICHT umständlich ist :rolleyes:
Aber dürfte funktionieren :p
 
Weiss nicht, was er da gemacht hat...
Aber ich finde meine Lösung so und so viel eleganter ;)

Soviel überflüssiger Code *aufreg* ;)

Aber wieso einfach, wenns auf komplizierzt geht ?! :)
 
Moin

also, erstmal vielen Dank für die Unterstützung.... habe die SQL Abfrage mit DISTINCT versehen, aber einen kleinen Fehler eingebaut. Das war der Grund,

warum das nicht funktioniere, nu klappts
 
Zurück