Hallo,
zID Name
123 Test
123 Blub
123 Keine Ahnung
436 UserBlub
436 Random Scheiß
436 YX Scheiß ZP
436 Weis ich nichtWenn ich ab nun nach "scheiß" suchen lassen dann (was auch logisch ist) listet er die zID 2 mal mit allen dazugehöriegen einträgen auf. Jemand eine
Idee das design oder die abfrage zu verbessern ?
Du hast ja auch 2 Datensätze, die "scheiß" beinhalten. Diese haben zufällig beide dieselbe zID. Ich hab keine Ahnung welcher Zweck sich hinter dieser zID verbirgt, das weisst nur du.
Wenn du jetzt nur eimal jede eindeutige (Stichwort: Distinct) zID anzeigen lassen willst, kannst du das tun. Allerdings ohne Name und mittels DISTINCT oder einem GROUP BY zID. Wenn du den Spalte "Name" mit anzeigen willst, welche Inhalt soll es dir denn dann anzeigen, den vom ersten gefundenen, also "Random Scheiß" oder den vom zweiten gefundenen Datensatz "YX Scheiß ZP"? Kurz gesagt, das geht nicht "einfach so" ...
Mit einer korrelierenden Unterabfrage könntest du dir z.b. den Namen
- mit der geringsten Länge
- der alphabetisch sortiert zuerst käme
- der zuerst oder zuletzt eingetragenen
ausgeben lassen.
Was sollte dir ausgegeben werden und warum. Wenn du das "warum" weisst, kannst du es ggf auch in SQL umsetzen mit Aggregatsfunktionen wie MAX() oder MIN() oder sonstigen Möglichkeiten deines Datenbanksystems.
Die Möglichkeit mit GROUP BY, die mySql dir bietet ist fachlich falsch.
Ciao, Frank