eventTime, eventName
FROM ( SELECT eventTime, 'tableA' as eventName FROM tableA UNION ALL SELECT eventTime, 'tableB' as eventName FROM tableB )
WHERE eventName IN ('tableA')
Ошибка - argument of WHERE must be type boolean, not type integer
Та же ошибка, если написать eventName = 'tableA'.
Плот твист: замена eventName IN ('tableA') на eventName != 'tableA' работает (в смысле нет ошибки, логика другая, конечно же)
Быть может кто-то сталкивался?
а поле eventName есть в таблице? а что если set optimize_move_to_prewhere=0
Поля eventName в таблице нет, а вот превер попробуем выключить, спасибо!
в общем-то тупым create table tableA(eventTime DateTime) Engine=MergeTree order by eventTime; insert into tableA select now() from numbers(1000); create table tableB(eventTime DateTime) Engine=MergeTree order by eventTime; insert into tableB select now() from numbers(1000); SELECT eventTime, eventName FROM ( SELECT eventTime, 'tableA' as eventName FROM tableA UNION ALL SELECT eventTime, 'tableB' as eventName FROM tableB ) WHERE eventName IN ('tableA') у меня не воспроизводится
У нас это jdbc таблицы, мб в этом дело
Обсуждают сегодня