empire-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rainer Döbele <doeb...@esteam.de>
Subject re: join same table twice in a query
Date Mon, 11 Jun 2012 20:40:49 GMT
Correct (Thanks T-Rex)


You need two difference instances of a table to be able to address them individually in your


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.





Von: T-Rex [mailto:trex521@googlemail.com] 
Gesendet: Montag, 11. Juni 2012 20:30
An: user@empire-db.apache.org
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?





2012/6/11 Becker, Joel <joel.becker@essvote.com>

Hello. In a select query, how do I join the same table twice on two different fields?


For example:



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.




View raw message