Forum: Ruby on Rails find_by_sql with associations?

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
185c703c76a2cc2fa4dbb57523635095?d=identicon&s=25 rob (Guest)
on 2005-11-14 12:55
(Received via mailing list)
I'm trying to speed up a query that I have running in Rails. It
already uses find_by_sql for performance reasons:

@projects = Project.find_by_sql ["SELECT projects.* FROM projects,
users WHERE IN (SELECT FROM projects,
timesheetentries WHERE timesheetentries.startTime>? AND
timesheetentries.startTime<? AND =
timesheetentries.project_id) AND projects.user_id =",
@start_date, @end_date]

... and now I'm trying to speed it up even more.

The contents of @projects are printed out in a table, where there is a
lookup to So what I'd ideally like is the client
data to be loaded using an association, but to make that work with my

I tried replacing my SQL above with:

SELECT projects.*, clients.* FROM projects, clients WHERE
IN (SELECT FROM projects, timesheetentries WHERE = timesheetentries.project_id) AND projects.client_id =

but it went kind of haywire. I think this is because Rails got
confused about and and assigned the
to the id in @projects (I think, maybe... anyway, it didn't work :-)

>From another part of my app I've discovered that when using :include
with find Rails generates SQL like:

SELECT projects.is_chargeable AS t0_r6, AS t1_r0, AS t1_r1, AS t0_r0, clients.address AS t1_r2,
projects.title AS t0_r1, projects.job_number AS t0_r2, projects.budget
AS t0_r3, projects.client_id AS t0_r4, projects.user_id AS t0_r5 FROM
projects LEFT OUTER JOIN clients ON = projects.client_id

So I don't know if I need to emulate that some how or do some other

Help would be appreciated!

"The feminist agenda is not about equal rights for women. It is about
a socialist, anti-family political movement that encourages women to
leave their husbands, kill their children, practice witchcraft,
destroy capitalism, and become lesbians."
-- Pat Robertson, fundraising letter, 1992
6dc185130e0ec5c84e165b265c141f38?d=identicon&s=25 christer.nilsson (Guest)
on 2005-11-14 23:38
(Received via mailing list)
Why not use
 SELECT projects.*,
 This will stop the id:s from mixing.

 2005/11/14, Robert Hulme <>:
This topic is locked and can not be replied to.