Consulta de dos tablas

Si tengo los belongs_to y los has_many pero la BD es heredada, no
podemos correr la migración.

Al hacer esta consutla con el :conditions va a buscar time_id y no
existe

@report = Employee.find(:all,
:conditions => [‘EMPNAME LIKE ?’, ‘%vargas’],
:include => [:timeact]
)

Da este error:

Mysql::Error: #42000Not unique table/alias: ‘EMPLOYEE’: SELECT
EMPLOYEE.EMPLISTID AS t0_r0, EMPLOYEE.EMPNAME AS t0_r1,
EMPLOYEE.SSN AS t0_r2, EMPLOYEE.TYPE AS t0_r3,
EMPLOYEE.CUSJOB AS t0_r4, EMPLOYEE.SPACEUSED AS t0_r5,
EMPLOYEE.ACTIVE AS t0_r6, EMPLOYEE.RELEASEDDATE AS t0_r7,
EMPLOYEE.LOGINNAME AS t0_r8, TIMEACT.TIMEACTDATE AS t1_r0,
TIMEACT.TIMEACTJOB AS t1_r1, TIMEACT.TIMEACTEMP AS t1_r2,
TIMEACT.TIMEACTTASK AS t1_r3, TIMEACT.TIMEACTTYPE AS t1_r4,
TIMEACT.TIMEACTDURATION AS t1_r5, TIMEACT.TIMEACTNOTE AS t1_r6
FROM EMPLOYEE LEFT OUTER JOIN TIMEACT ON
TIMEACT.TIMEACTDATE,TIMEACTJOB,TIMEACTEMP,TIMEAC TTASK,TIMEACTTYPE =
EMPLOYEE.timeact_id WHERE (EMPNAME LIKE ‘%vargas’)

Me parece que es por no tener el timeact_id, por no correr la migración.

Entonces con este otro query:

@report = Employee.find(:all,
:conditions => [‘EMPNAME LIKE ?’, ‘%vargas’],
:joins => “left join TIMEACT ON (EMPLOYEE.EMPLISTID =
TIMEACT.TIMEACTEMP)”
)

Si obtengo todos los Employee y los datos de timeact, pero como la
consulta la hago con el modelo Employee, ruby me deja los datos del
empleado en employee pero no se donde quedan los datos del timeact.

O existe alguna forma para hacer una consulta de dos o mas tablas y que
pueda ver todos los datos retornados.

Se me ha ocurrido hacer dos o mas consultas por separado e ir
almacenando en una lista, pero no estoy seguro.

gracias.
ruddyvar [email protected]

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs