MYSQL - COUNT() ANZAHL der Antworten nicht korrekt

hmmNaGut

Erfahrenes Mitglied
Hallo ich habe ein kleines Problem mit einer MYSQL ABFRAGE
Und zwar habe ich ein kleines Problem mit einer SQL ABfrage..

Hier mal mein Query:

SQL:
	SELECT
			artikel.id, 
			hits,
        artikel.erdatum,
        artikel.erZeit, 
        artikel.titel, 
        LEFT(artikel.inhalt, 400)  as inhaltt,
        username, 
        benutzer_id,
        pic_path as pic,
        COUNT(artikel_antwort.artikel_id) as cAnswer
FROM artikel
JOIN benutzer ON benutzer.benutzer_id = artikel.userid
LEFT JOIN artikel_antwort ON artikel_antwort.artikel_id=artikel.id
LEFT JOIN artikel_pic ON artikel_pic.artikel_id=artikel.id AND width<151
WHERE catid='$_GET[categoryid]' 
GROUP BY artikel.id, artikel.erdatum, artikel.erZeit, artikel.titel, inhaltt, artikel_pic.artikel_id, hits
ORDER BY erdatum,erZeit
LIMIT $pos,30";

Count()Liefert leider nicht das richtige Ergebnis

wenn zu einen Artikel keine Bilder(artikel_pics) vorhanden sind dann gibt COUNT die richtige Anzahl der Antworten zurück.. 0=Richtige Antwort

Das selbe geschieht wenn keine Antworten vorhanden sind und ein Bild oder fünf Bilder z.B dann kommt auch 0 = Richtige Antwort

Nun zum Problem:

Also wir haben zu einen Artikel 3 Bilder und 3 Antworten wir 9 von COUNT() zurückgeben.

Bitte um Hilfe, habe schon eine Antwort gesucht leider nichts passendes gefunden.
 
Zuletzt bearbeitet von einem Moderator:
Ja 3 Bilder 3 verschiedene Antworten. Also 3x3 ergibt bei mir 9. Ist also schon richtig was Count tut, du mußt vllt mal die Anfrage anders stellen. Zum Beispiel gruppierst du da nach ziemlich viel...
 
Erstmal danke, allerdings stehe ich noch immer auf der Leitung irgendwie komme ich nicht darauf was ich miteinander Gruppieren muss..

Sorry.
 
Jetzt habe ich es so hinbekommen das die richtige Anzahl an Antworten ausgegeben wird allerdings werden jetzt alle 5 bilder angezeigt. :confused:

SQL:
	SELECT artikel.id, 
			hits,
        artikel.erdatum,
        artikel.erZeit, 
        artikel.titel, 
        LEFT(artikel.inhalt, 400)  as inhaltt,
        username, 
        benutzer_id,
        pic_path as pic,
        COUNT(artikel_antwort.artikel_id) as cAnswer
FROM artikel
JOIN benutzer ON benutzer.benutzer_id = artikel.userid
LEFT JOIN artikel_antwort ON artikel_antwort.artikel_id=artikel.id
LEFT JOIN artikel_pic ON artikel_pic.artikel_id=artikel.id AND width<151
WHERE catid='$_GET[categoryid]' 
GROUP BY artikel_pic.id,artikel.id
ORDER BY erdatum DESC,erZeit DESC
LIMIT $pos,30";
 
Zuletzt bearbeitet von einem Moderator:
Zurück