Вопрос

Я пытаюсь использовать concat_ws внутри команды group_concat. С запросом, который упрощенно выглядит так:

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

Я получаю столбец вложений в виде типа Blob. возможно ли получить его как строку вместо Blob?

Это было полезно?

Решение

Вам нужно разыграть как персонажа.

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

Другие советы

Хотя я подозреваю, что CAST является подходящим ответом, стоит упомянуть, что в прошлом я сталкивался с подобной вещью, которая оказалась из-за странного / противоречивого типа сопоставления и набора символов.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top