Ver Mensaje Individual
  #7 (permalink)  
Antiguo 15/10/2008, 23:05
m87laucha
 
Fecha de Ingreso: junio-2007
Mensajes: 11
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: LEFT JOIN con dos argumentos en el ON

Ufffff.... muchas gracias Jurena me has tirado la pinta para solucionar el problema. En tu consulta encontré la forma de lograr lo que quería, les muestro lo que quedó de la consulta para que vean la magnitud de la misma ya que las 3 tablas que describí eran solo el centro del problema.

Ahora falta probar como se comporta con mas de 20.000 registros, espero no tener problema con el servidor.


__________________________________________________ _______________

SELECT P.idpedido, B.descripcion AS brigada,T.nrolinea, EP.descripcion as estado,
P.equipo,T.horabaremo, P.nroacta, t1.equipo AS 'Equipo Instalado',
CONCAT('No') AS kit,
DATE_FORMAT(P.fechacumplido, '%d/%m/%Y') AS fechacumplido,
DATE_FORMAT(P.fechaconfirmado, '%d/%m/%Y') AS fechaconfirmado
FROM pedidos AS P,estadospedidos AS EP, brigadas AS B
RIGHT JOIN trabajos AS T
ON (T.brigadas_idbrigada = B.idbrigada)
LEFT JOIN
(
SELECT T.idtrabajo, CONCAT(M.idmaterial,' - ',M.nombre) AS equipo
FROM pedidos AS P,trabajos AS T
INNER JOIN materiales_trabajos AS MT
ON(MT.trabajos_idtrabajo = T.idtrabajo)
INNER JOIN materiales AS M
ON(M.idmaterial = MT.materiales_idmaterial)
WHERE M.categoriasmateriales_idcategoria = 1
AND P.trabajos_idtrabajo = T.idtrabajo
AND P.kit = 0
)
t1
ON T.idtrabajo = t1.idtrabajo
WHERE P.trabajos_idtrabajo = T.idtrabajo
AND P.kit = 0
AND EP.idestadopedido = P.estadospedidos_idestadopedido


__________________________________________________ _______________

Pues eso fué todo... un buen problemita para poner a prueba la lógica el el conocimiento de base de datos.

Muchas gracias por la ayuda.

Saludos