Domanda
Sto cercando di usare concat_ws all'interno di un comando group_concat. Con una query, semplificata come:
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
Ottengo la colonna degli allegati come tipo BLOB. è possibile ottenerlo come stringa anziché in BLOB?
Soluzione
Devi lanciare un personaggio ..
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
Altri suggerimenti
Anche se sospetto che CAST sia la risposta appropriata, vale la pena ricordare che in passato mi sono imbattuto in qualcosa di simile che si è rivelato essere dovuto a un tipo e set di caratteri strano / conflittuale.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow