Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/03/2008, 04:42
McH-ChdLer
 
Fecha de Ingreso: diciembre-2006
Mensajes: 3
Antigüedad: 18 años, 2 meses
Puntos: 0
Ayuda en un procedimiento almacenado

He creado el siguiente procedimiento almacenado para este enunciado:

Nombre del pais junto con el numero medio de pernoctaciones y
reclamaciones en los años 1997 y 1998. Ademas debemos calcular
para cada pais la media de llegadas y el trimestre en el cual hubo
mas reclamaciones para dichos años.


Código PHP:
CREATE PROCEDURE CALCULO_AVG
AS


SELECT   PRO.PAIS  PAIS,  AVG (P.PERNOCTACIONESMEDIA_PERNOCTACIONESAVG R.CANTIDADMEDIA_RECLAMACIONES
 
AVG (LL.CANTIDADMEDIA_LLEGADAS
FROM PERNOCTACIONES P
PROCEDENCIA PRORECLAMACIONES RLLEGADAS LLMESES
WHERE P
.ANO BETWEEN 1997 AND 1998 AND PRO.CODIGOP.PROCEDENCIA 
AND P.PROCEDENCIAR.PROCEDENCIA AND R.PROCEDENCIALL.PROCEDENCIA 
AND P.ANO=R.AÑO AND MESES.NUMERO R.MES
GROUP BY PRO
.PAIS

SELECT  TRIMESTRE 
AS TRIMESTRE_CON_MAS_RECLAMACIONES
FROM MESES
GROUP BY TRIMESTRE
HAVING TRIMESTRE
=(SELECT TRIMESTRE
                     FROM MESES
,RECLAMACIONES
                     WHERE AÑO BETWEEN 1997 
AND 1998 AND MESES.NUMERO=RECLAMACIONES.MES
                     GROUP BY TRIMESTRE 
                     HAVING SUM 
(CANTIDAD)=(SELECT TOP 1  SUM(CANTIDAD)
                                             
FROM MESESRECLAMACIONES
                                             WHERE AÑO BETWEEN 1997 
AND 1998 AND MESES.NUMERO=RECLAMACIONES.MES
                                             GROUP BY TRIMESTRE
                                             ORDER BY 1 DESC
))

EXEC CALCULO_AVG
El problema es que me pide los datos para cada uno de los años, no el total de sumar los dos años. Debe aparecer algo asi:

Año Pais media_pernocta media_reclama media_llegadas trimestre
1997 España 3843 439843 49308 1
1997 Francia 438439 43894 9595 3
...
...
1998 España 49382 7687 2345 3
1998 Francia


¿Me echais una mano en lo que tendria que modificar?