**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.
{
    const State & state = State::instance();
    check("SELECT column FROM test.table WHERE 1 = 1 AND toString(column) = '42' AND column = 42 AND left(column, 10) = RIGHT(column, 10) AND column IN (1, 42) AND SUBSTRING(column FROM 1 FOR 2) = 'Hello' AND column != 4",
          R"(SELECT "column" FROM "test"."table" WHERE 1 AND ("column" = 42) AND ("column" IN (1, 42)) AND ("column" != 4))",
          state.context, state.columns);
    check("SELECT column FROM test.table WHERE toString(column) = '42' AND left(column, 10) = RIGHT(column, 10) AND column = 42",
          R"(SELECT "column" FROM "test"."table" WHERE ("column" = 42))",
          state.context, state.columns);
}
TEST(TransformQueryForExternalDatabase, Issue7245)
{
    const State & state = State::instance();
    check("select apply_id from test.table where apply_type = 2 and create_time > addDays(toDateTime('2019-01-01 01:02:03'),-7) and apply_status in (3,4)",
          R"(SELECT "apply_id", "apply_type", "apply_status", "create_time" FROM "test"."table" WHERE ("apply_type" = 2) AND ("create_time" > '2018-12-25 01:02:03') AND ("apply_status" IN (3, 4)))",
          state.context, state.columns);
}
TEST(TransformQueryForExternalDatabase, Aliases)
{
    const State & state = State::instance();
    check("SELECT field AS value, field AS display WHERE field NOT IN ('') AND display LIKE '%test%'",
          R"(SELECT "field" FROM "test"."table" WHERE ("field" NOT IN ('')) AND ("field" LIKE '%test%'))",
          state.context, state.columns);
}