سؤال
أحاول استخدام 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 هي الإجابة المناسبة ، إلا أنه من الجدير بالذكر أنني واجهت شيئًا مشابهًا في الماضي والذي تحول إلى نوع ترتيب غريب/متضارب.
لا تنتمي إلى StackOverflow