Correct (Thanks T-Rex)
You need two difference instances of a table to be able to address them
individually in your query.
You can either do that in your database definition:
public final Employees EMPLOYEES = new Employees(this);
public final Employees EMPLOYEES_2 = new Employees(this);
or alternatively use the clone method:
Employees EMPLOYEES_2 = (Employees)EMPLOYEES.clone();
Then in your query just treat them as if they were two different tables.
Rainer
Von: T-Rex [mailto:[email protected]]
Gesendet: Montag, 11. Juni 2012 20:30
An: [email protected]
Betreff: Re: join same table twice in a query
Hello Joel,
as far as I know you have to create a second instance of your table if you want
to make a second join on the same column.
If i am correct you have to do something like this:
cmd.join(db.TRIP.START_CITY_ID, CITY_instance1.ID <http://db.city.id/> );
cmd.join(db.TRIP.END_CITY_ID, CITY_instance2.ID <http://db.city.id/> );
Can you try it and tell us if that works?
Pascal
2012/6/11 Becker, Joel <[email protected]>
Hello. In a select query, how do I join the same table twice on two different
fields?
For example:
cmd.select(...);
cmd.join(db.PERSON.TRIP_ID, db.TRIP);
cmd.join(db.TRIP.START_CITY_ID, db.CITY.ID);
cmd.join(db.TRIP.END_CITY_ID, db.CITY.ID);
Then I want to get the start CITY.NAME and the end CITY.NAME.
-Joel