SELECT
page_content_id,
session_id
FROM test.events
WHERE (name = 'impression') AND (initiator = 'page') AND (page_type = 'content') AND (page_content_id != NULL)
)
ANY LEFT JOIN
(
SELECT
page_content_id,
session_id
FROM test.events
WHERE (name = 'impression') AND (initiator = 'section') AND (section_type = 'description') AND (page_content_id != NULL)
) USING (page_content_id, session_id)
Received exception from server:
Code: 68. DB::Exception: Received from localhost:9001, ::1. DB::Exception: Cannot get sizeOfField() for column ColumnNullable(ColumnVector<Int32>).
0 rows in set. Elapsed: 0.031 sec.
page_content_id - это Nullable(Uint32) . Использую replacingMergeTree.
Можете подсказать возможные решения? Может быть можно привести к UInt32
Работа JOIN для Nullable столбцов не реализована. Если интересно - я её добавил как раз вчера. Чтобы обойти сейчас, попробуйте в подзапросах написать ifNull(page_content_id, 0) AS page_content_id, ifNull(session_id, 0) AS session_id Во вторых замечу, что писать x != NULL не имеет смысла. Надо x IS NOT NULL.
Обсуждают сегодня