Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/05/2012, 11:18
betodaniel61
Usuario no validado
 
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires
Mensajes: 413
Antigüedad: 15 años
Puntos: 3
Respuesta: Orden en Select

GNZSOLOYO Buenas Tardes,
Amigo estoy aprolijándolo y llegue a esto por ahora:

SELECT
P.*,
TP.destagen,
TP.destasec,
PA.nombre AS nompai,
PR.nombre nompro,
LC.nombre nomloc,
US.usuario codusu,
US.nombre nomusu,
TM.simbolo moneda,
TA.nombre nomtar,
p.cantidad-sum(IF(CO.cantidad IS NOT NULL,CO.cantidad,0)) quedan,
SUM(IF(CO.cantidad IS NOT NULL,CO.cantidad,0)) vendido,
SUM(IF(TV.signo='+', importe, IF(TV.signo = '-',importe* - 1, 0))) saldo
FROM
publicaciones P
INNER JOIN tipopublicaciones TP ON P.idtipopublicacion = TP.idtipopublicacion
INNER JOIN usuarios US ON P.idusuario = US.idusuario
INNER JOIN tipomonedas TM ON P.idtipomoneda = TM.idtipomoneda
INNER JOIN tipoarticulos TA ON P.idtipoarticulo = TA.idtipoarticulo
INNER JOIN paises PA ON P.idpais = PA.idpais
INNER JOIN provincias PR ON P.idprovincia = PR.idprovincia
INNER JOIN localidades LC ON P.idlocalidad = LC.idlocalidad
LEFT JOIN compras CO ON P.idpublicacion = CO.idpublicacion
LEFT JOIN cuentacorriente CC ON P.idusuario = CC.idusuario
INNER JOIN tipomovimientos TV ON CC.idtipomovimiento = TV.idtipomovimiento
GROUP BY 1,2,3,4,5,6,7,8,9,10,11;

No entiendo bien el tema de las subconsulta para las sumas, sería casi lo mismo ya que suma dependiendo de la cantidad vendida para esa publicación o del signo de tipo del movimiento.
El problema esta en el VENDIDO que arrastra al QUEDAN.

Donde pondría el SELECT SUM(IF(CO.cantidad IS NOT NULL,CO.cantidad,0)) vendido FROM compras WHERE idpublicacion=p.idpublicacion.

Si es posible te agradecería me guies un poco mas.
Muchas Gracias