Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Error consulta

Estas en el tema de Error consulta en el foro de Mysql en Foros del Web. Estoy haciendo esta consulta: SELECT pr.reference, pr.description, SUM(pi.quantityDelivery) as cantidad * (SELECT count(*) FROM plv.productorder_salesrepresentative p where p.ProductOrder_id=po.id) as delegados FROM productorder po JOIN productorder_productorderitem ...
  #1 (permalink)  
Antiguo 20/12/2010, 05:25
 
Fecha de Ingreso: enero-2009
Mensajes: 42
Antigüedad: 15 años, 3 meses
Puntos: 0
Error consulta

Estoy haciendo esta consulta:
SELECT pr.reference, pr.description, SUM(pi.quantityDelivery) as cantidad * (SELECT count(*) FROM plv.productorder_salesrepresentative p where p.ProductOrder_id=po.id) as delegados
FROM productorder po
JOIN productorder_productorderitem pp on po.id=pp.ProductOrder_id
JOIN productorderitem pi on pp.items_id=pi.id
JOIN product pr on pi.productId=pr.id
WHERE po.clientId = 1
and po.status = 'OPEN'
GROUP BY pr.reference,pr.description
ORDER BY pr.reference

Lo que quiero es multiplicar la consulta principal por el sub-select, pero el problema que tengo es que solo me multiplica la primera selección y las demás me las deja a 0.

Muchas gracias
  #2 (permalink)  
Antiguo 20/12/2010, 07:45
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Error consulta

Código MySQL:
Ver original
  1. SELECT pr.reference,
  2.              pr.description,
  3.              (SUM(pi.quantityDelivery) * (SELECT count(*) FROM
  4.                                                          plv.productorder_salesrepresentative p
  5.                                                          where p.ProductOrder_id=po.id)) as cantidadxdelegados
  6. FROM productorder po
  7.           JOIN productorder_productorderitem pp on po.id=pp.ProductOrder_id
  8.           JOIN productorderitem pi on pp.items_id=pi.id
  9.           JOIN product pr on pi.productId=pr.id
  10. WHERE po.clientId = 1
  11.           and po.status = 'OPEN'
  12. GROUP BY pr.reference,pr.description

Te sobre el Order By ya que con el group by ya se ordena.

Y po.id deberia formar parte del group by de la consulta principal si no no puede elegir con que tiene que multiplicar. No acabo de entender el contenido de tus tablas por lo que no se si es posible lo que intentas...
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:54.