```sql
CREATE TABLE t (item_id UInt64, price_sold Float32, date Date) ENGINE MergeTree ORDER BY item_id;
SELECT id, yago FROM (SELECT item_id AS id, materialize([arrayJoin([NULL, NULL]), NULL AS x, arrayJoin([0.9998999834060669, NULL, NULL, NULL]), arrayJoin([1048577, -inf, 100.0000991821289, NULL])]), SUM(price_sold) AS recent FROM t WHERE and(date >= NULL) GROUP BY 1023, id WITH TOTALS) AS ll FULL OUTER JOIN (SELECT item_id AS id, SUM(price_sold) AS yago FROM t WHERE (date >= '2018-12-17') AND (date <= '2019-03-10') GROUP BY id WITH TOTALS) AS rr USING (id);
```
```sql
SELECT
    id,
    yago
FROM 
(
    SELECT
        item_id AS id,
        materialize([arrayJoin([NULL, NULL]), NULL AS x, arrayJoin([0.9998999834060669, NULL, NULL, NULL]), arrayJoin([1048577, -inf, 100.0000991821289, NULL])]),
        SUM(price_sold) AS recent
    FROM t
    WHERE and(date >= NULL)
    GROUP BY
        1023,
        id
        WITH TOTALS
) AS ll
FULL OUTER JOIN 
(
    SELECT
        item_id AS id,
        SUM(price_sold) AS yago
    FROM t
    WHERE (date >= '2018-12-17') AND (date <= '2019-03-10')
    GROUP BY id
        WITH TOTALS
) AS rr USING (id)

Query id: 308fbfd9-aed7-4de6-9f34-843c909b9243


Received exception from server (version 21.1.1):
Code: 49. DB::Exception: Received from localhost:9000. DB::Exception: Invalid number of rows in Chunk column Float64 position 1: expected 32, got 1. 

```
{
    for (size_t i = 0; i < block.columns(); ++i)
    {
        auto & col = block.getByPosition(i);
        if (col.type->lowCardinality() && col.column && !col.column->lowCardinality())
            col.column = changeLowCardinality(col.column, col.type->createColumn());
    }
}
ColumnRawPtrs extractKeysForJoin(const Block & block_keys, const Names & key_names)
{
    size_t keys_size = key_names.size();
    ColumnRawPtrs key_columns(keys_size);
    for (size_t i = 0; i < keys_size; ++i)
    {
        const String & column_name = key_names[i];
        key_columns[i] = block_keys.getByName(column_name).column.get();
        
        if (const auto * nullable = checkAndGetColumn<ColumnNullable>(*key_columns[i]))
            key_columns[i] = &nullable->getNestedColumn();
    }
    return key_columns;
}
void checkTypesOfKeys(const Block & block_left, const Names & key_names_left, const Block & block_right, const Names & key_names_right)