I have three tables. These are joined by `ForeignKey` constraints so sqlalchemy knows how to join them.

I want to select the columns from all three tables:

```
select([a.c.x, b.c.x, c.c.x], a.c.a.between(10,20), [join(a, c), join(a, b)])

```

This generates the broken SQL:

```
SELECT a.x, b.x, c.x
FROM
   a JOIN b ON a.b_id == b.id,
   a JOIN c ON a.c_id == c.id
WHERE
   a.a BETWEEN 10 AND 20;

```

As can be seen, the table `a` is in the `FROM` clause twice!

How can you join three tables in a [select()](http://docs.sqlalchemy.org/en/latest/core/selectable.html#sqlalchemy.sql.expression.select) statement using sqlalchemy?