php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 05.10.2008, 16:49  
Neuer Benutzer
 
Registriert seit: 05.10.2008
Beiträge: 20
JudGer befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] LEFT JOIN verliert Datensätze

Huhu,
da ich neu bin, möchte ich mich der Runde kurz vorstellen:
Ich heiße JudGer und habe MySQL-Probleme :wink:

Mein Problem ist folgendes:
Ich habe 2 Tabellen: posts und comments
Vereinfacht sehen diese so aus

Code:
posts
+-----+-----------------------+
|  id  |           titel      |
+-----+-----------------------+

comments
+----+-----------+--------------------+
| id  | post_id |        titel        |
+----+-----------+--------------------+
Ich möchte eine Übersichtsseite der Posts erstellen und dabei anzeigen lassen, wie viele Kommentare bereits existieren.

Dafür habe ich folgende Abfrage geschrieben:

Code:
SELECT posts.titel,
COUNT(comments.id) AS anzahl
FROM posts
LEFT JOIN comments
ON posts.id=comments.post_id
GROUP BY comments.post_id
Das funktioniert relativ gut. Dort wo Kommentare vorhanden sind, wird die korrekte Anzahl angezeigt.
Das Problem sind die Posts ohne Kommentare. Hier wird nur der oberste zurückgegeben und der Rest nicht.

Sollte LEFT JOIN nicht die kompletten Daten der linken Tabelle zurückliefern und NULL sofern kein Datensatz der zweiten Tabelle passt? Das macht diese Abfrage nur bei dem ersten Post mit 0 Kommentaren. Alle anderen werden nicht zurückgegeben.

LG
JudGer
JudGer ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 05.10.2008, 17:38  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.248
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

DIE GRUPPE: Hallo RudGer...!
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online   Mit Zitat antworten
Alt 05.10.2008, 17:41  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.248
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Das Verhalten ist nur ohne GROUP wie beschrieben. Versuch mal nach posts.id zu gruppieren.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online   Mit Zitat antworten
Alt 05.10.2008, 17:52  
Neuer Benutzer
 
Registriert seit: 05.10.2008
Beiträge: 20
JudGer befindet sich auf einem aufstrebenden Ast
Standard

Ah, jetzt klappt es. Wie dumm von mir, nach einer Spalte zu gruppieren, die gar nicht in jedem Datensatz vorhanden ist.

Super, vielen Dank
JudGer ist offline   Mit Zitat antworten
Alt 05.10.2008, 17:53  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.248
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Dann flug noch oben "Beitrag als unerledigt markieren!"
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
MySQL UNION ALL mit LEFT JOIN? familyman Datenbanken 4 09.10.2008 12:15
WHERE-Clause im Left Join cycap Datenbanken 2 06.11.2007 11:06
JOIN / LEFT JOIN und Co prinzli Datenbanken 12 05.11.2007 22:15
LEFT OUTER JOIN auf Nicht-Tabelle inu Datenbanken 15 29.03.2007 20:21
[solved] LEFT JOIN - #1066 - Not unique table/alias moose Datenbanken 6 12.12.2006 06:41
[gelöst] LEFT JOIN und trotzdem nicht alle Sätze da?!? stefanjann Datenbanken 3 24.10.2006 11:32
Problem mit Inner join Jabi Datenbanken 15 09.05.2006 14:10
Left outer join, timestamps php-newbie83 Datenbanken 29 27.04.2006 09:29
LEFT OUTER JOIN für mehr als 2 Tabellen ? Alpha Centauri Datenbanken 4 05.04.2006 16:18
Select Problem Datenbanken 17 16.01.2006 21:54
[Erledigt] LEFT JOIN Query Bildung Datenbanken 6 04.11.2005 15:24
[Erledigt] LEFT JOIN funtkioniert nicht richtig Datenbanken 3 19.10.2005 17:38
[Erledigt] LEFT JOIN Problem Datenbanken 11 21.03.2005 16:36
[Erledigt] left outer join mit bedingung Datenbanken 2 04.03.2005 00:52
den letzte(grösten) eintrag aus LEFT JOIN Datenbanken 2 24.07.2004 18:33

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
left join wo kein datensatz

Alle Zeitangaben in WEZ +1. Es ist jetzt 15:26 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum