Question

I am trying to use concat_ws inside a group_concat command. With a query, which simplified looks like:

SELECT item.title, GROUP_CONCAT( CONCAT_WS(  ',', attachments.id, attachments.type,     attachments.name ) )  as attachments
FROM story AS item
LEFT OUTER JOIN story_attachment AS attachments ON item.id = attachments.item_id
GROUP BY item.id

I get the attachments column as a Blob type. is it it possible to get it as a string instead of Blob?

Was it helpful?

Solution

You need to cast as a char..

SELECT item.title, GROUP_CONCAT( CAST(CONCAT_WS(',', attachments.id, 
attachments.type, attachments.name ) as CHAR ) ) as attachments 
FROM story AS item 
LEFT OUTER JOIN story_attachment AS attachments 
ON item.id = attachments.item_id GROUP BY item.id

OTHER TIPS

Although I suspect CAST is the appropriate answer, it's worth mentioning that I ran into a similar thing in the past which turned out to be down to a strange/conflicting collation type and character set.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top