Есть таблица order.
Есть timeline(там есть fk - order_id).
SELECT o.id,
o.status,
order_payment_at,
order_cancel_at,
....
FROM orders AS o
INNER JOIN partners p ON p.id = o.partner_id
....
INNER JOIN(
SELECT
DISTINCT order_id,
CASE WHEN data LIKE '%{"status":"paid"}%' THEN created_at END AS order_payment_at,
CASE WHEN data LIKE '%{"status":"cancel"}%' THEN created_at END AS order_cancel_at
....
FROM timeline
) timeline ON timeline.order_id = o.id
GROUP BY o.id and long list.......
проблема в чем - к order относится дофигища timeline.
и запрос мне выводит:
id(имеется ввиду order)
1 что относится к timeline
1 что относится к timeline
1 что относится к timeline
запрос правильно всё выводит, но нужно чтоб ВСЕ данные с timeline были в ОДНОЙ строке.
Понимаю что мне нужно GROUP BY order_id, но postgres не хочет ограничиваться только order_id - он еще хочет приплести
и data и created_at
Всем спасибо за ответы