SELECT DISTINCT
TB
- php
0 Ben0 tb
0 lulu0 Daniela Koller0 jonas
Folgender code funtioniert zwar, allerdings werden trotz DISTINCT gleiche einträge von "name" doppelt angezeigt.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SELECT DISTINCT id,name,detail, kategorie FROM projekte ORDER BY name
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ich habe es dann mal so ausprobiert. jetzt klappt es allerdings fehlen mir dann "id","detail","kategorie":
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SELECT DISTINCT name FROM projekte ORDER BY name
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
wie kann ich das lösen, das name Destinct wird und die anderen spalten geladen werden?
TB
du musst es so schreiben
SELECT DISTINCT id, DISTINCT name, DISTINCT detail, DISTINCT kategorie FROM projekte ORDER BY name
danke werde es morgen testen.
Huhu TB
DISTINCT bezieht sich immer auf den nachfolgenden Spaltennamen.
Wenn Du also in Deinem ersten Beispiel die Anordnung korrigierst
funktioniert es so wie Du möchtest.
Viele Grüße
lulu
Hi TB
wie kann ich das lösen, das name Destinct wird und die anderen spalten geladen werden?
Nur indem du deinen Denkfehler löst. Wie soll deine Datenbank wissen, welche
id, detail und kategorie du haben willst? Die sind ja anscheinend von
einander verschieden trotz selben Namens. Entweder das ist ein Fehler im Design deiner
Datenbank den du korrigieren musst oder du kannst zusätzliche Bedingungen
für die Felder definieren. Als Beispiel dafür die Aggregatsfunktionen
wie max....
Gruss Daniela
Hi TB
Ergänzung: Du kannst in MySQL erreichen, das er sie dir zusammenfasst
zu einem. Die anderen Felder werden dann mehr oder weniger zufällig
aus einem der zusammengefassten Datensätze gewählt. Achtung, andere
Datenbanken werden dir das Konstrukt um die Ohren werfen weil sie
eben nicht wissen, welche der anderen Felder.
Select id,name,detail, kategorie
from projekte
group by name <-- das ist das neue
ORDER BY name
Aber du solltest dir echt überlegen ob der Fehler nicht schon viel
früher passiert ist oder du bei den anderen Felder genauer spezifizieren
kannst aus welchem Datensatz sie kommen sollen.
Gruss Daniela
Hallo,
soweit ich weiß kann distinct nur einmal eingesetzt/vergeben werden.
Ein distinct auf die ID ist allerdings unlogisch, sofern man davon ausgeht, dass die ID ein Autoincrement-Wert ist und somit eh schon eindeutig ist. Ergo
select id, distinct name, detail, kategorie from projekte order by name.
hth
jonas