Итак, у меня довольно нетрадиционная проблема. Я хотел бы иметь возможность объединять строки с одним ID в одну большую строку. Чтобы проиллюстрировать мою проблему, позвольте мне привести пример. Вот запрос:PostgreSQL: как объединить строки
SELECT b.id AS "ID",
m.content AS "Conversation"
FROM bookings b
INNER JOIN conversations c on b.id = c.conversable_id AND c.conversable_type = 'Booking'
INNER JOIN messages m on m.conversation_id = c.id
WHERE b.state IS NOT NULL
GROUP BY 1,2
LIMIT 1000;
А вот выход:
ID **Conversation
1223 "blah, blah, blah, blah"
1223 " ... blaaaah, blah.."
1223 "more blaaah"
1223 "last blah"
5000 "new id, with more blah"
5000 "and the blah continues"
Есть ли способ конкатенации строк в разговоре одного агрегатной строку, сохраняя при этом идентификатора?
Как это:
ID Conversation
1223 "blah, blah, blah, blah, ... blaaaah blah.. more blaaah, last blah"
5000 "new id, with more blah and the blah continues"
Я уверен, что это эффективный способ сделать это. Я просто не могу понять это сам.
'group_concat()' ваш друг. – wildplasser
Разве это не MySQL? – DBE7
Может быть. Может быть, 'string_agg()', то? – wildplasser