Vinzenz Mai: BLOB ??

Beitrag lesen

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