Ошибка в легком sql запросе

Есть таблица table_1 в которой есть столбцы id - уникальный, ti,at,timestamp - varchar Нужно Вычесть значение timestamp там, где at = out из того, где at=in.

У меня ошибка #1066 - Повторяющаяся таблица/псевдоним 'table_1' при выполнении этого кода. Где я ошибся в запросе?

select
    id,
    ti,
    SUM(CAST(table_out.timestamp AS int) - CAST(timestamp AS int))
from
    table_1

LEFT JOIN (table_1 ON at= 'OUT') as table_out on table_out.ti = ti
where
    at = 'IN'

Ответы (1 шт):

Автор решения: Akina

Вероятно, запрос должен быть приблизительно таким:

SELECT ti, SEC_TO_TIME(TIMESTAMPDIFF(SECOND, t1.timestamp, t2.timestamp))
FROM table t1
JOIN table t2 USING (ti)
WHERE t1.at = 'IN'
  AND t2.at = 'OUT'
→ Ссылка