Как сравнить по времени в таблицах, отбросив минуты и секунды до часов?
Select t1.ID, t1.TIME
from 
TABLE_1 t1 
JOIN TABLE_2 t2 ON t1.ID=t2.ID
              and to_char(t1.TIME, 'DD.MM.YYYY HH24') = to_char(t2.TIME, 'DD.MM.YYYY HH24')
Вариант 2 (возможно, пригодится при оптимизации, так как на выходе сравниваются значения в типе дата время, а не строк):
... and trunc(t1.TIME, 'hh24') = trunc(t2.TIME, 'hh24')
PS: Хорошо бы еще индекс создать под этот формат времени для колонок t1.TIME и t2.TIME, тогда запрос будет всегда производителен.
У Оракла есть короткий синтаксис внутренних соединений. Вообще JOIN не нужно указывать.

SELECT 
  t1.ID, t1.TIME
FROM 
  t1,t2 
WHERE t1.ID = t2.ID
  AND trunc(t1.TIME, 'hh24') = trunc(t2.TIME, 'hh24')
И есть общая рекомендация - выделять ключевые слова SQL  в uppercase. Так их удобнее видеть.