Hallo hawk,
ich habe das mal eben mit GROUP_CONCAT
versucht weil ich das so noch nie gesehen hatte.
GROUP_CONCAT ist wirklich eine nette Aggregatsfunktion zur Verwendung mit GROUP BY; diese Funktion wünschte ich mir auch in manch anderem DBMS.
Was ich jedoch nicht verstehe:
Bei der TextID Spalte wird mir nicht die ursprüngliche ID angezeigt sondern etwas mit BLOB?
[BLOB - 9 B] Color 1,Color 1 color1
[BLOB - 9 B] Color 2,Color 2 color2
Ja, da war ich etwas nachlässig :-(
Bei GROUP_CONCAT greift die implizite Typkonvertierung, die z.B. bei CONCAT vorgenommen wird, von MySQL nicht, d.h. aus numerischen Werten werden nicht automatisch Zeichenketten. Infolgedessen musst Du die Umwandlung mittels der geeigneten Funktion selbst vornehmen:
SELECT
[link:http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat@title=GROUP_CONCAT]([link:http://dev.mysql.com/doc/refman/5.0/en/cast-functions.html#function_cast@title=CAST](TextID AS CHAR)) IDs,
GROUP_CONCAT(English) Werte,
TextIdentifier
FROM
texttbl
GROUP BY
TextIdentifier
HAVING
COUNT(TextIdentifier) > 1
Bitte beachte auch die Hinweise zur maximalen Länge der resultierenden Zeichenkette im Handbuch.
Freundliche Grüße
Vinzenz