Ver Mensaje Individual
  #6 (permalink)  
Antiguo 21/11/2013, 06:43
PabloManuel
 
Fecha de Ingreso: diciembre-2010
Mensajes: 236
Antigüedad: 13 años, 4 meses
Puntos: 6
Respuesta: consulta en mysql sobre 3 tablas

Vaya, pues justamente saqué parte del código de ahí, creo que ya lo tengo, porque además necesito buscar por nombre de cliente, no puedo usar el ID_user porque quiero buscar por cadena de texto y un like

Me está quedando una consulta enorme, ya que en el where final tengo que repetir las subconsultas sino me da error

La siguiente consulta busca los pedidos con último estado =1 y que el nombre de usuario contenga loma:

Código MySQL:
Ver original
  1. SELECT Pe.id, pe.Su_Referencia, pe.Fecha_ped, pe.bimponible, pe.id_user, (
  2.  
  3. SELECT nombre
  4. FROM usuarios
  5. WHERE id = pe.id_user
  6. ) AS nombre, (
  7.  
  8. SELECT le.id_estado
  9. FROM Ec_Pedidos_LinEst AS Le
  10. WHERE le.id_pedido = pe.id
  11. AND le.fechahora = (
  12. SELECT MAX( fechahora )
  13. FROM ec_pedidos_linest
  14. WHERE id_pedido = pe.id )
  15. ) AS Estado
  16. FROM EC_Pedidos AS Pe
  17.  
  18. SELECT le.id_estado
  19. FROM Ec_Pedidos_LinEst AS Le
  20. WHERE le.id_pedido = pe.id
  21. AND le.fechahora = (
  22. SELECT MAX( fechahora )
  23. FROM ec_pedidos_linest
  24. WHERE id_pedido = pe.id )
  25. ) =1
  26. AND (
  27.  
  28. SELECT nombre
  29. FROM usuarios
  30. WHERE id = pe.id_user
  31. ) LIKE  '%loma%'