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.
Обсуждают сегодня