условие предотвращает ложные срабатывания. (2) 2 части UNION ALL представляют 2 сдвинутые шкалы. Смотрите обновленный ответ

ужен запрос на улей, который мне сложно понять.

У меня есть временной ряд, который выглядит так:

time                          source    word1   word2    ...etc
2012-02-01 23:43:16.9988243    0001      2B3B    FAF0
2012-02-01 23:43:16.9993561    0002      2326    ABAA
2012-02-01 23:43:16.9998879    0002      2327    ABAA

Мне нужен запрос такой, что если запись в одномsource выполняет определенные условия, в дополнение к этой записи, он также должен возвратить одну или несколько записейв непосредственной близости во времени со второгоsource выполнение другого набора условий.

Моя попытка пока выглядит так:

SELECT time
    FROM messages C
    JOIN messages D on
       D.time
           BETWEEN C.time - INTERVAL '0.001' SECOND
           AND     C.time + INTERVAL '0.001' SECOND

    WHERE C.source = '0001'
    AND   D.Source = '0002'
    AND   C.word1 = '2B3B'
    AND   D.word2 = 'ABAA'

Который должен возвращать первую и вторую записи в приведенных выше примерах данных (третий не должен возвращать, потому что время больше, чем 0,001 секунды).

Но запрос не работает. Сообщение об ошибке

FAILED: SemanticException '0.001' encountered with 0 children

Ответы на вопрос(0)

Ваш ответ на вопрос