count und LEFT JOIN

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • count und LEFT JOIN

    Hi ich möchte meine Kommentare zählen lassen und es klapt auch ganz gut, bis auf das er mir nur drei News und die anzahl der Kommentare bei den News anzeigt.

    Ich hab aber 5 News und ich versteht nicht warum er mir nur 3 anzeigt.

    Mein Select Anweisung sieht so aus.
    PHP-Code:
            SELECT 
                n
    .ID AS ID,
                
    n.Autor AS Autor,
                
    n.Titel AS Titel,
                
    n.Inhalt AS Inhalt,
                
    DATE_FORMAT(n.Datum'%d.%m.%y %H:%i:%s') AS Datum,
                
    COUNTnc.N_ID ) AS Kommentare
            FROM news 
    AS n
            LEFT JOIN news_comm 
    AS nc ON n.ID nc.N_ID
            GROUP BY nc
    .N_ID
            ORDER BY n
    .ID DESC 
    PS: Ich hab schon viel im Forum gesucht aber nichts gefunden, was mir beantwortet, warum ich nur 3 Datensätze bekomme.

    MfG Pate
    jeder mensch macht fehler

  • #2
    Was gibt Dir denn phpmyadmin aus?

    Kommentar


    • #3
      gibt auch nur 3 Datensätze aus.
      jeder mensch macht fehler

      Kommentar


      • #4
        Poste mal bitte Deine Tabellenstruktur.

        Kommentar


        • #5
          Ok jetzt das richtige:
          #
          # Tabellenstruktur für Tabelle `news`
          #

          CREATE TABLE `news` (
          `ID` smallint(6) NOT NULL auto_increment,
          `Autor` varchar(15) default NULL,
          `Titel` varchar(100) default NULL,
          `Inhalt` text,
          `Datum` datetime default NULL,
          PRIMARY KEY (`ID`)
          ) TYPE=MyISAM AUTO_INCREMENT=6 ;


          #
          # Tabellenstruktur für Tabelle `news_comm`
          #

          CREATE TABLE `news_comm` (
          `C_ID` smallint(6) NOT NULL auto_increment,
          `N_ID` smallint(6) default NULL,
          `Name` varchar(20) default NULL,
          `Email` varchar(100) default NULL,
          `Titel` varchar(100) NOT NULL default '',
          `Comm` text,
          `Datum` datetime default NULL,
          PRIMARY KEY (`C_ID`)
          ) TYPE=MyISAM AUTO_INCREMENT=6 ;
          Zuletzt geändert von DER*PATE; 12.04.2004, 15:41.
          jeder mensch macht fehler

          Kommentar


          • #6
            Ich hätt's besser gefunden, wenn Du mittels phpmyadmin die Struktur der Tabellen hier widergegeben hättest, aber das tut's auch.
            EDIT:
            Über EXPORTIEREN.
            Zuletzt geändert von ; 12.04.2004, 15:33.

            Kommentar


            • #7
              Wenn ich die news_comm leer lasse und die news mit 5 Datensätze fülle, zeigt er mir nur einen an, und zwar den 1.

              Kommentar


              • #8
                Original geschrieben von Innuendo
                Wenn ich die news_comm leer lasse und die news mit 5 Datensätze fülle, zeigt er mir nur einen an, und zwar den 1.
                also macht er es bei dir auch nicht richtig.

                ich hab 5 news geschrieben und drei zeigt er mir an, die erste (mit 3 kommentaren), die zweite (mit 2kommentaren) und die dritte mit 0kommentaren

                warum zeigt er mir nicht die 4 und 5 news an, die news haben beide keine kommentare
                jeder mensch macht fehler

                Kommentar


                • #9
                  mach mal select DISTINCT und count ( DISTINCT ) ... wirkt manchmal wunder

                  btw. welchen sinn ergibt sowas: n.Autor AS Autor?
                  h.a.n.d.
                  Schmalle

                  http://impressed.by
                  http://blog.schmalenberger.it



                  Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
                  ... nur ohne :-)

                  Kommentar


                  • #10
                    Original geschrieben von schmalle
                    mach mal select DISTINCT und count ( DISTINCT ) ... wirkt manchmal wunder

                    btw. welchen sinn ergibt sowas: n.Autor AS Autor?
                    weil ich autor auch in der Tabelle news_comm habe

                    ps:
                    PHP-Code:
                    SELECT n.ID AS IDn.Autor AS Autorn.Titel AS Titeln.Inhalt AS InhaltDISTINCT DATE_FORMATn.Datum'%d.%m.%y %H:%i:%s' ) AS DatumCOUNTDISTINCT ) AS Kommentare
                    FROM news 
                    AS n
                    LEFT JOIN news_comm 
                    AS nc ON n.ID nc.N_ID
                    GROUP BY nc
                    .N_ID
                    ORDER BY n
                    .ID DESC 
                    geht auch nicht
                    Zuletzt geändert von DER*PATE; 12.04.2004, 17:14.
                    jeder mensch macht fehler

                    Kommentar


                    • #11
                      man es ist echt komisch
                      hab gerade bei news 3 ein kommentar geschrieben und jetzt wird mir News 4 angezeigt, news 5 wird aber immernoch nicht angezeigt
                      jeder mensch macht fehler

                      Kommentar


                      • #12
                        Also ich habe das weder getestet, noch wirklich lange Zeit mir das anzuschauen, aber schau dir nochmal das mit dem "GROUP BY nc.N_ID" an.
                        So auf den ersten Blick kommt das für mich als Fehlerquelle in Frage, da in news_comm ja gar nicht alle news_ids vorkommen, wenn nicht schon zu allen news Kommentare geschrieben wurden (komischer Satz, aber ich hoffe man versteht was ich meine )
                        [color=red]Geht nicht[/color] ist keine Fehlermeldung

                        Kommentar


                        • #13
                          jo hab ich auch vorhin herrausgefunden. er bricht ab sobald es keine kommentare gibt und deshalb werden mir die neuen news nicht angezeigt.

                          nun weiß ich wie ich das mit den kommentar zahlen mache
                          jeder mensch macht fehler

                          Kommentar


                          • #14
                            hi wollte frage ob einer ne Idee hat wie ich die kommentare auszählen lassen kann

                            danke im vorraus
                            jeder mensch macht fehler

                            Kommentar


                            • #15
                              Mal ein kleiner Tipp ... warum gruppierst Du nicht nach den Attributen der ersten Tabelle ... dann sollte es auch klappen ... !
                              carpe noctem

                              [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                              [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                              Kommentar

                              Lädt...
                              X