[My-SQL] Mehrere Einträge in Abfrage obwohl nur drei Datensätze vorhanden ist

CikoNo1

Erfahrenes Mitglied
Hi Leute,

hab da ein Problem, also ich habe diese Abfrage:
Code:
SELECT t.pfad AS thumbpfad, b.pfad AS bildpfad
FROM galleriethumbs t, galleriebilder b
WHERE t.gallerieID = '2'
AND b.gallerieID = '2'
AND t.gallerieID = b.gallerieID
GROUP BY thumbpfad, bildpfad

in den Tabellen galleriethumbs und galleriebilder sind jeweils drei Datensätze, wenn ich nun diese Abfrage starte, werden mir alle Datensätze dreifach angezeigt (also wird ein Datensatz 3 mal wiederholt)! Habs auch mit DISTINCT probiert aber hat nicht funktioniert!

Ich kann mir nicht erklären weshalb, kann mir jemand weiterhelfen?

MFG
 
Zuletzt bearbeitet:
Hi,

Du generierst mit deiner Abfrage ein Kreuzprodukt.
Soll heißen:
Zu jedem Datensatz aus Tabelle A werden alle Datensätze aus Tabelle B assoziiert.
Das Problem ist, dass du nach in deiner Abfrage keine Beziehung zwischen beiden Tabellen hast. Du hast als Ergebniss nur den Inhalt beider Tabellen und versuchst nun auch noch nach beiden zu gruppieren. wenn du die Gruppierung weg lassen würdest, sollte eigenlich schon das von dir gewüschnt Ergebnis kommen.

Am besten ist, wenn du die mal einige Artikel zu JOINs in Datenbanken durchließt.

// edit:
Hatte dir doch in dem Beitrag in dem das Problem mit dieser Abfrage hattest, einen anderen Vorschlag gemacht.
 
Zuletzt bearbeitet:
bei deiner anderen Antwort waren alle Datensätze zusammen aufgereit. Ich brauche es aber getrennt also die pfade aus "galleriethumbs" getrennt und die pfade aus "galleriebilder" getrennt. Könntest du mir vielleicht zeigen wie ich das am besten hinbekomme?
 
ich hab doch gesagt, lass die Gruppierung weg, dass sollte schon zum gewünschten Ziel führen.
Ich finde das die Gruppierung sowieso wenig Sinn macht. Das sind doch die Pfad zu einzelnen Dateien oder?
Wenn ja, würde die Gruppierung sowieso wenig bringen, da jede Datei sowieso einen anderen Namen hat;)
 
das hat aber nicht funktioniert, auch ohne das GROUP BY werden Datensätze wiederholt! Stimmt denn meine Abfrage
 
Die Abfrage scheint soweit korrekt zu sein. Ich kann mir dabei nicht vorstellen, dass hier Datensätze wiederholt erscheinen. Vermutlich liegt der Fehler nicht in der Abfrage, sondern irgendwo anders in deinem Skript.

Ganz genau kann ich das allerdings nur sagen, wenn ich wüsste, die die Tabellen aufgebaut sind und welche Daten sie enthalten. Ich bräuchte also einen Dump mit den CREATE und INSERT Anweisungen zur Erstellung der Tabellen.

Gruß Marian
 
Also hier mal im Anhang die drei dumps die wichtig sind.

Also am Skript liegt das nicht weil ich die Abfrage auch im PHPMyAdmin ausprobiert habe und da bekomme ich das selbe ergebnis!
 

Anhänge

  • DUMP.zip
    1,8 KB · Aufrufe: 13
sorry aber mit den Daten aus dem Dump kommt bei deiner Abfrage überhaupt kein Ergebnis. Könnte daran liegen, dass "galleriebilder" keine Datensätze enthält ;-)

Gruß Marian
 
Sorry, weiss nicht warum esnicht geklappt hat, aber jetzt sinds die richtigen!
 

Anhänge

  • DUMP.zip
    1,9 KB · Aufrufe: 11
Du musst da irgendwo einen Denkfehler haben. Es wird nichts doppelt ausgegeben. Du erhältst mit deiner Abfrage exakt jeweils eine Kombination von Thumbpfad und Bildpfad.

Lass dir mal die anderen Spalten mit ausgeben. Du wirst feststellen, dass du die galleriebilder.id 34, 35 und 36 ausgegeben bekommst, mit jeweils den galleriethumb.id 34, 35 und 36

Insofern macht deine Abfrage tatsächlich genau das, was sie soll ;-)

Gruß Marian
 

Neue Beiträge

Zurück