DISTINCT funzt net!

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

  • DISTINCT funzt net!

    Meine Abfrage sieht folgendermassen aus (sind nochn paar PHP-Variablen drin):

    SELECT DISTINCT bez, mod, ag, bez, ort, str, betr, aggid FROM $tbl_daten WHERE $suche $suche3 bez IS NOT NULL ORDER BY bez"

    Funzt alles soweit und das DISTINCT tut seine Funktion nicht!
    Kann mir jemand sagen worans liegt?

    Danke... Björn

  • #2
    vielleicht so

    SELECT DISTINCT [COLOR=red]([/COLOR]bez, mod, ag, bez, ort, str, betr, aggid[COLOR=red])[/COLOR]
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar


    • #3
      Nee... Dann funktioniert die Abfrage nich...

      Kommentar


      • #4
        Niemand ne Idee?

        Kommentar


        • #5
          müssen hier nicht noch kommas rein`?

          WHERE $suche $suche3 bez IS NOT NULL
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            Nicht das ich wüßte...
            $suche und $suche3 sind nicht immer vorhanden und wenn wird automatisch ein AND mit eingefügt...
            Die Abfrage ansich funktioniert ja auch nur killt das DISTINCT keine doppelten Abfrageergebnisse...

            Kommentar


            • #7
              ich wüsste nicht, dass man mehr als ein disctinct pro stmt nutzen kann, die könnten sich nämlich in gehege kommen.

              und das er in deinem fall das distinct killt ist auch klar, wenn du alles ausser distinct(bez) rausnehmen würdest, dann würde er es nicht killen.

              jetzt hast du aber noch spalten drin, also müsstest du nach deiner distinct spalte noch gruppieren.

              .. distinct(bez), ........ group by bez

              dann brauchst du aber auch das distinct nicht

              Kommentar


              • #8
                Original geschrieben von BjoernO
                ...und wenn wird automatisch ein AND mit eingefügt...
                meine ich ja uach.. komma ist ja quatsch..

                Original geschrieben von BjoernO
                Die Abfrage ansich funktioniert ja auch nur killt das DISTINCT keine doppelten Abfrageergebnisse...
                ok.

                dadurch, dass du mehrere spalten hast, kann er ja nicht mit distinct gruppieren. schliesslich sind die anderen spalten weiterhin unterschiedlich. daher kann er nur das zusammenfassen, was auch in den anderen spalten identisch ist.
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  ergo kannst du auch das disctinct rausnehmen, stattdessen nach der spalte gruppieren und für die anderen spalten eine gruppierungs-funktion wählen

                  Kommentar


                  • #10
                    genau. und selbst da wirst du probleme haben, wenn die spalten immer noch unterschiedlichen inhalt haben. da bringt ein GROUP BY nämlich auch nichts.
                    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                    Kommentar


                    • #11
                      Könnt ihr ein kleines Beispiel hinschreiben?
                      Mein Verständnis ist gerade ein wenig beschränkt... ;-)

                      Kommentar


                      • #12
                        was für ein beispiel? es funktioniert mit dem gruppieren nciht.
                        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                        Kommentar


                        • #13
                          Wie bekomm ich das nu am intelligentesten hin, daß ich die gewünschten Abfrageerbnisse bekomme und trotzdem keine doppelten Sachen ausgegeben werden?

                          Kommentar


                          • #14
                            ????

                            wenn ich ein GROUP BY nutze, dann muss ich für die spalten, nach denen nicht gruppiert wird, eine gruppierungsfunktion (min, max, count, avg) nutzen. das gehört aber quasi zu einem group by immer dazu.
                            EDIT:
                            gibt du ein beispiel für mögliche daten in der DB und wie dann das resultat aussehen soll
                            Zuletzt geändert von graf; 30.06.2003, 11:21.

                            Kommentar


                            • #15
                              @graf
                              ja. schon klar. nur solange wir nicht wissen, was er eignetlich als resultat haben will, geht es nicht..

                              ich denke nämlich nicht, dass er MAX() und co anwenden will.
                              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                              Kommentar

                              Lädt...
                              X