Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/10/2008, 15:41
MALFAS
 
Fecha de Ingreso: septiembre-2003
Ubicación: VIña del Mar
Mensajes: 70
Antigüedad: 21 años, 3 meses
Puntos: 0
Ayuda con Query y sumatoria campo con diferentes estados

Saludos,

Llevo un par de horas dando vueltas a esta consulta y no logro sacarla, solicito ayuda a quien me pueda orientar.

Tengo dos tablas.

*ORDENES
-----------------------------------------
ORDEN || Fecha || Contratista ||
-----------------------------------------
10 || 14/05/2008 || 1.200 ||
20 || 15/05/2008 || 2.400 ||
30 || 20/05/2008 || 5.700 ||
40 || 16/05/2008 || 1.200 ||
50 || 15/05/2008 || 2.400 ||


*ESTADOS
---------------------------------------------------
ORDEN || Fecha_Cierre || Estado ||
----------------------------------------------------
10 || 20/05/2008 || E ||
20 || 15/07/2008 || N ||
30 || 20/08/2008 || P ||
40 || 16/05/2008 || N ||
50 || 15/05/2008 || E ||



Necesito generar una consulta que me arroje el siguiente listado contabilizando por estado (E,N,P) agrupando por fecha:

-------------------------------------------------------------------------------------
Fecha || Contratista || Cuenta_E || Cuenta_N || Cuenta_P ||
-------------------------------------------------------------------------------------
15/05/2008 || 2.400 || 1 || 1 || 0 ||





Logre armar un QUERY de este tipo pero no logro afinar la cuenta por los distintos estados.

Código:
SELECT RESULT.fecha, 
(SELECT COUNT(E.estado) FROM estados as E WHERE E.estado= 'E') AS E,
(SELECT COUNT(E.estado) FROM estados as E WHERE E.estado= 'N') AS N,
(SELECT COUNT(E.estado) FROM estados as E WHERE E.estado= 'P') AS P
FROM estados as E 
INNER JOIN (
	SELECT OT.fecha, OT.orden FROM ordenes as OT
	WHERE 1=1 and OT.contratista = 2.400
	and OT.fecha BETWEEN '14/05/2008' AND '20/05/2008' 
) AS RESULT
ON RESULT.orden= E.orden
GROUP BY RESULT.fecha

Agradezco de ante mano cualquier ayuda que me puedan dar
__________________
www.cielonegro.cl
Comunidad chilena de entretencion