-----Original Message----- From: Thomas Fischer [mailto:fisc...@seitenbau.net] Sent: den 2 mars 2009 14:27 To: Apache Torque Users List Subject: RE: Multiple addJoin with OR
> I want to create an SQLQuery that combines data from three tables. Right > now, my javacode looks like this: > > Criteria.addJoin(TableA.id, TableB.fk); > Criteria.addJoin(TableA.id, TableC.fk); > > This results in this SQL query: > > WHERE TableA.id = TableB.fk > > AND TableA.id = TableC.fk > > However, this is not the result I need. What I need is a query with OR > instead of AND, like this: > > WHERE TableA.id = TableB.fk > > OR TableA.id = TableC.fk > > I haven't found any way to do this using criteria. Is it possible? I do not know a way to do this currently. But are you really sure your statement makes sense ? If one row in table B matches, then you get all rows of table C joined (or vice versa), and I cannot imagine this is what you need. But I might be wrong. Thomas It does make sense. I rewrote the query by hand (changed AND to OR) and executed it in the MySql console and it gave the response I wanted. The situation is kind of like this: Table a is a category table, it only contains ids and names of categories. Table B is a "products sold" table, and table C is a "products bought" table. All products belong to a certain category, and I want a query that gives me all the categories that a certain user has sold/bought products from. /Ludwig --------------------------------------------------------------------- To unsubscribe, e-mail: torque-user-unsubscr...@db.apache.org For additional commands, e-mail: torque-user-h...@db.apache.org