سؤال

أحاول استخدام 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

أحصل على عمود المرفقات كنوع النقطة. هل من الممكن الحصول عليها كسلسلة بدلاً من النقطة؟

هل كانت مفيدة؟

المحلول

تحتاج إلى أن يلقي كشار ..

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