Count und JOIN funktioniert nicht!

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

  • Count und JOIN funktioniert nicht!

    Guten Morgen,

    ich habe folgendes Problem und bekomme es einfach nicht hin.

    ich möchte alle c.caseID zusammen zählen und nach caseID grupieren!

    Die Query bring aber nur blödsinn und case.ID zusammen zählen tut sie auch nicht.

    Ergebnis ist ungefähr sp (nur mal ein Ausschnitt, die print_r ausgabe ist um einiges länger!

    Array ( [0] => Array ( [0] => 21 [1] => 23730 [2] => 23730 ) [1] => Array .....
    PHP-Code:
    SELECT c.caseIDc.salcusnrc.erstelltc.plzc.ortc.handytypc.kundentypIDc.details
            
    k.kundentypd.beginnd.flaeched.barringzoned.warnd.alarmCOUNT(c.caseIDFROM `Case` AS c
            JOIN Kundentyp 
    AS k ON c.kundentypID k.kundentypID 
            JOIN d1_barring 
    AS d ON c.plz d.plz
            WHERE k
    .kundentyp IN ('Residential''SOHO''SME'
            AND (
    DATE(erstellt) >= DATE('".$_POST[beginn]."') AND DATE(erstellt) <= DATE('".$_POST[ende]."'
            AND (
    c.plz IN ('".$_POST[plz]."'))) GROUP BY c.caseID"; 

    Wer kann mir damit helfen... Ich hab schon alles zu count gelesen, was ich finden kann...

    Danke!
    gruss pedro

  • #2
    bei Agregat funktionen muss man leider alle felder in group by auflisten.
    Slava
    bituniverse.com

    Kommentar


    • #3
      alles felder? ;o(

      Also alle die ich per select auswähle?

      Das will ich nicht! Find ich nicht gut.
      Kann ich dann GROUP BY weg lassen?
      Dann soll er mir eben nur Case.caseID zusammen zählen, ohne gruppierung...


      geht das? Reicht es wenn ich das GROUP BY raus nehme? Oder muss ich dann mein Statement umstellen?
      gruss pedro

      Kommentar


      • #4
        geht nicht...

        habs gerade versucht.wenn ich GROUP BY raus nehme, schmeisst er mir einen PEAR Error
        gruss pedro

        Kommentar


        • #5
          habs jetzt mal unter anderen so versucht!
          PHP-Code:
          "SELECT c.caseID, c.salcusnr, c.erstellt, c.plz, c.ort, c.handytyp,
          c.kundentypID, c.details, k.kundentyp, d.beginn, d.flaeche, 
          d.barringzone, d.warn, d.alarm, COUNT(c.caseID) AS zahl FROM `Case` AS c
          JOIN Kundentyp AS k ON c.kundentypID = k.kundentypID
          JOIN d1_barring AS d ON c.plz = d.plz
          WHERE k.kundentyp IN ('Residential', 'SOHO', 'SME') 
          AND (DATE(erstellt) >= DATE('"
          .$_POST[beginn]."') AND DATE(erstellt) <= DATE('".$_POST[ende]."') 
          AND (c.plz IN ('"
          .$_POST[plz]."'))) GROUP BY c.caseID"
          Ausgabe->

          Array ( [0] => Array ( [0] => 853647 [1] => 1364567 [2] =>
          2006-09-12 14:39:24 [3] => 51069 [4] => Köln [5] => [6] => 1 [7]
          => bla bla => siehe Notes!!! [8] => Residential [9] => 2006-10-04
          00:00:00 [10] => 48,1357% [11] => Bergisch [12] => 108 [13] => 217 [14] => 1 )

          Er zählt nicht die Anzahl der c.caseID zusammen. Es scheint fast so als würde er jedes Teil zählen, also 1.

          ich will aber, das er alle c.caseID zusammenzähl wo c.plz = d.plz ist!

          so weit verständlich?
          gruss pedro

          Kommentar


          • #6
            58 leute haben schon rein geschaut.

            weis den keiner rat?? ;O( oder kann ich das Problem auch irgendwie per mysql_num_rows lösen?
            gruss pedro

            Kommentar


            • #7
              [PHP5] gelöst!

              ich konnte mir anders selbst weiter helfen... erledigt!
              gruss pedro

              Kommentar


              • #8
                Re: [PHP5] gelöst!

                Original geschrieben von petro_0
                ich konnte mir anders selbst weiter helfen... erledigt!
                das freut mich sehr, dass du es geschafft hast und besonders, dass du uns über positiven Ergebniss informierst.
                Deine letzte Mitteilung wird PHPwelt verändern, deshalb wäre es nicht schlecht, wenn du Anderen erzählst, wie du es gelöst hast als auch was du dabei gelernt hast.
                Slava
                bituniverse.com

                Kommentar

                Lädt...
                X