Я два дня тянул свои волосы, пытаясь соединить запрос MySQL, чтобы собрать некоторые данные.Однако это выше моего уровня опыта работы с SQL.
Следующий запрос извлекает данные, которые мне нужны, но мне нужно отформатировать их по-другому, чтобы я мог их использовать.
SELECT b.key, a.author, a.comment FROM action a, issue b
WHERE a.issueid=b.id AND a.actiontype='comment';
Это производит вывод примерно так:
1 | joe | comment 3
3 | sally | comment 2
1 | sam | comment 2
2 | julie | comment 2
1 | bill | comment 1
3 | joe | comment 1
2 | sam | comment 1
b.key уникален и может содержать 0-∞ a.comment.Существует связь 1-1 с a.author и a.comment, и я должен поддерживать первоначальную связь.Вывод, кажется, в порядке возрастания, основанный на дате a.comment.
Я хотел бы получить данные в следующем формате (CSV), объединяя результаты a.author и a.comment водин столбец:
"1", "bill - comment 1", "sam - comment 2", "joe - comment 1"
"2", "julie - comment 1", "sam - comment 2"
"3", "joe - comment 1", "sally - comment 2"
Я поиграл с несколькими комбинациями GROUP_CONCAT и ORDER, а также немного запутался в подзапросах, основанных на этой записи , и не могу отформатироватьтак, как мне нужно.Кроме того, похоже, что порядок столбца комментариев меняется.Мне нужно сохранить исходный (от самого старого к новейшему) порядок, но мой исходный запрос, приведенный выше, дает результаты от самого нового до самого старого порядка.Если разделители представляют проблему, я, конечно, могу выполнить некоторую постобработку с поиском и заменой perl или awk для результатов.Любая помощь с благодарностью!