andi____ Geschrieben 27. September 2005 Teilen Geschrieben 27. September 2005 Hallo, ich habe ein Problem mit dem sql Befehl GROUP BY wenn ich den anwende so klappt das ganz gut und er fässt alles zusammen, sobald aber eine Firma mit einer Zahl drin auftaucht klappt es nichtmehr... da macht er mir z.B. 5 Einträge mit Firma24 Firma25 Firma26 Firma27 Firma28 wobei die Firma 25 richtig so heißt.... und die Straßennummer und die PLZ zählt er jeweils auch eins hoch Ist der Befehl vielleicht doch nicht geeignet um mehrere Identische Ansprechpartner zusammenzufassen? Warum passiert das denn wenn Zahlen mit im Spiel sind? meine querrys: <? $result=mysql_query("SELECT * from wg_kunden GROUP BY Vorname, Nachname, Firma"); while ($row=mysql_fetch_array($result)) { mysql_query("Insert into wg_kunden2 values('','$row[KuNr]','$row[Vorname]','$row[Nachname]','$row[Firma]','$row[Strasse]','$row[PLZ]','$row[Ort]','$row[Land]','$row[Telefon]','$row[Fax]','$row[Email]','$row[Rempf_Name]','$row[Rempf_Strasse]','$row[Rempf_PLZ]','$row[Rempf_Ort]','$row[Kundengruppe]','$row[Kundenstatus]','$row[Zahlungsziel]','$row[KRabatt]','$row[Zusatz_2]')"); } ?> [/php] die Feldtypen sind TEXT danköö für Aufklärung Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 27. September 2005 Teilen Geschrieben 27. September 2005 Versteh ich nicht. Lass doch mal die SQL Befehle ausgeben. $sql = "Insert into wg_kunden2 values('','$row[KuNr]','$row[Vorname]','$row[Nachname]','$row[Firma]','$row[Strasse]','$row[PLZ]','$row[Ort]','$row[Land]','$row[Telefon]','$row[Fax]','$row[Email]','$row[Rempf_Name]','$row[Rempf_Strasse]','$row[Rempf_PLZ]','$row[Rempf_Ort]','$row[Kundengruppe]','$row[Kundenstatus]','$row[Zahlungsziel]','$row[KRabatt]','$row[Zusatz_2]'"; echo $sql."<br>"; mysql_query($sql); [/php] Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mme Geschrieben 28. September 2005 Teilen Geschrieben 28. September 2005 Bei der Abfrage würde ich anstatt "SELECT * from wg_kunden GROUP BY Vorname, Nachname, Firma" folgendes verwenden: "SELECT Vorname, Nachname, Firma from wg_kunden GROUP BY Vorname, Nachname, Firma" Dein Select ist doch meiner Meinung logisch schon nicht ganz korrekt... Du willst nach den drei Kriterien gruppieren. Das heißt wenn du drei Datensätze "Heinz", "Müller", "BMW" hast und bei jedem der drei Sätze steht aber eine andere Hausnummer. Es sollen nun die drei Sätze zusammengefasst werden zu einem Satz, aber trotzdem soll er alle drei Hausnummern anzeigen? Denn ob er die Hausnummer gruppieren addieren usw. soll hast du nichts gesagt! Warscheinlich addiert er dann die drei Hausnummer standardmäßig und der Standard ist wohl abhängig von deinem DBMS (Welches?). Viele DBMS lassen deswegen so eine Abfrage gar nicht zu. Vielleicht gibt er dir die Anzahl, oder die Quersumme der Hausnummer aus, du gibst ihm ja nichts vor für die anderen Spalten, also lass sie weg. Anstatt * nur die Columns. Wenn du nichts summiert, oder irgendeinen Max/minwert pro Gruppierung haben willst kannst du auch distinct nehmen. "SELECT distinct Vorname, Nachname, Firma from wg_kunden" Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
andi____ Geschrieben 28. September 2005 Autor Teilen Geschrieben 28. September 2005 danke für den Tipp, mit distinct ging es jetzt. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.