**Describe the bug**
When you trying to join different mysql tables, clickhouse would accept in WHERE clause only columns from left table.

**Does it reproduce on recent release?**
Yes

**How to reproduce**
Clickhouse 21.1

```
docker run --name misaka -e MYSQL_ROOT_PASSWORD=xxxxx -p 3306:3306 -d mysql:latest
mysql --host 127.0.0.1 --password
> use mysql;
> CREATE TABLE members (
    member_id INT AUTO_INCREMENT,
    name VARCHAR(100),
    PRIMARY KEY (member_id)
);

> CREATE TABLE committees (
    committee_id INT AUTO_INCREMENT,
    name VARCHAR(100),
    PRIMARY KEY (committee_id)
);


> INSERT INTO members(name)
VALUES('John'),('Jane'),('Mary'),('David'),('Amelia');

> INSERT INTO committees(name)
VALUES('John'),('Mary'),('Amelia'),('Joe');

clickhouse

 CREATE DATABASE mysql ENGINE=MySQL('127.0.0.1:3306','mysql','root','xxxxx');


SELECT *
FROM mysql.members AS m
INNER JOIN mysql.committees AS c ON m.name = c.name

┌─member_id─┬─name───┬─committee_id─┬─c.name─┐
│         1 │ John   │            1 │ John   │
│         3 │ Mary   │            2 │ Mary   │
│         5 │ Amelia │            3 │ Amelia │
└───────────┴────────┴──────────────┴────────┘


SELECT *
FROM mysql.members AS m
INNER JOIN mysql.committees AS c ON m.name = c.name
WHERE committee_id = 2

Code: 47. DB::Exception: Received from localhost:9000. DB::Exception: Missing columns: 'committee_id' while processing query: 'committee_id = 2', required columns: 'committee_id' 'committee_id'

SELECT *
FROM mysql.members AS m
INNER JOIN mysql.committees AS c ON m.name = c.name
WHERE `c.name` = 2

Code: 386. DB::Exception: Received from localhost:9000. DB::Exception: There is no supertype for types String, UInt8 because some of them are String/FixedString and some of them are not: while executing 'FUNCTION equals(c.name : 3, 2 : 4) -> equals(c.name, 2) Nullable(UInt8) : 5'. 

^ Clickhouse actually know that c.name type is String.
```

**Additional context**
It looks like that clickhouse trying to push all WHERE conditions to the left mysql table.
https://github.com/ClickHouse/ClickHouse/issues/14614 Looks like related.
{
        static State state;
        return state;
    }
private:
    explicit State()
        : context(getContext().context)
    {
        tryRegisterFunctions();
        DatabasePtr database = std::make_shared<DatabaseMemory>("test", context);
        database->attachTable("table", StorageMemory::create(StorageID("test", "table"), ColumnsDescription{columns}, ConstraintsDescription{}));
        DatabaseCatalog::instance().attachDatabase("test", database);
        context.setCurrentDatabase("test");
    }
};
static void check(const std::string & query, const std::string & expected, const Context & context, const NamesAndTypesList & columns)
{
    ParserSelectQuery parser;
    ASTPtr ast = parseQuery(parser, query, 1000, 1000);
    SelectQueryInfo query_info;
    query_info.syntax_analyzer_result = TreeRewriter(context).analyzeSelect(ast, columns);
    query_info.query = ast;
    std::string transformed_query = transformQueryForExternalDatabase(query_info, columns, IdentifierQuotingStyle::DoubleQuotes, "test", "table", context);
    EXPECT_EQ(transformed_query, expected);
}
TEST(TransformQueryForExternalDatabase, InWithSingleElement)