У меня есть такая таблица
id | user | name | action | created_at
--------------------------------------------------
1 | 42 | eve | open | 2020-01-06 06:17:42
2 | 42 | eve | close | 2020-01-06 06:27:42
3 | 42 | eve | open | 2020-01-06 06:37:42
4 | 42 | eve | close | 2020-01-06 06:47:42
5 | 42 | eve | open | 2020-01-06 06:57:42
Мне нужно получить эту таблицу:
user | name | open | open_created_at | close | close _created_at
-----------------------------------------------------------------------
42 | eve | open | 2020-01-06 06:17:42 | close | 2020-01-06 06:27:42
42 | eve | open | 2020-01-06 06:37:42 | close | 2020-01-06 06:47:42
42 | eve | open | 2020-01-06 06:57:42 | null | null
Вот таблица, которую я получаю:
SELECT t1.user, t1.name, t1.action, t1.created_at, t2.action, t2.created_at
FROM tabel t1, table t2
WHERE t1.user = t2.user AND t1.action = 'open' AND t2.action = 'close' AND t1.created_at < t2.created_at
GROUP BY t1.id
user | name | open | open_created_at | close | close _created_at
-----------------------------------------------------------------------
42 | eve | open | 2020-01-06 06:17:42 | close | 2020-01-06 06:27:42
42 | eve | open | 2020-01-06 06:37:42 | close | 2020-01-06 06:47:42
Как я могу получить таблицу с совпадающим открытием / закрытием в том же столбце вместе со строками, у которых нет соответствующего закрывающего столбца?