Pregunta
Estoy tratando de usar concat_ws dentro de un comando group_concat. Con una consulta, que se simplifica se ve así:
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
Obtengo la columna de archivos adjuntos como tipo Blob. ¿es posible obtenerlo como una cadena en lugar de Blob?
Solución
Necesitas lanzar como personaje ..
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
Otros consejos
Aunque sospecho que CAST es la respuesta adecuada, vale la pena mencionar que me encontré con algo similar en el pasado que resultó ser un tipo de colación y un conjunto de caracteres extraños / conflictivos.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow