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

Consulta Promedio

Estas en el tema de Consulta Promedio en el foro de SQL Server en Foros del Web. Buenas Tardes mi consulta es la siguiente tengo la siguiente consulta Código PHP: SELECT        Compras . DOCUMENTO_COMPRA . RUT_PROVEEDOR ,             (( Compras . DOCUMENTO_COMPRA . NOTA_COSTO  ...
  #1 (permalink)  
Antiguo 22/10/2009, 15:31
 
Fecha de Ingreso: diciembre-2007
Mensajes: 5
Antigüedad: 16 años, 4 meses
Puntos: 0
Consulta Promedio

Buenas Tardes mi consulta es la siguiente

tengo la siguiente consulta

Código PHP:
SELECT        Compras.DOCUMENTO_COMPRA.RUT_PROVEEDOR,
            ((
Compras.DOCUMENTO_COMPRA.NOTA_COSTO 100)/4) AS NCOS,
            ((
Compras.DOCUMENTO_COMPRA.NOTA_CALIDAD 100)/4) AS NCAL,
            ((
Compras.DOCUMENTO_COMPRA.NOTA_TIEMPO 100)/4) AS NTIE,
            ((
Compras.DOCUMENTO_COMPRA.NOTA_DURACION 100)/4) AS NDUR
           
FROM        Compras
.DOCUMENTO_COMPRA INNER JOIN compras.PROVEEDOR ON 
            Compras
.DOCUMENTO_COMPRA.RUT_PROVEEDOR Compras.PROVEEDOR.RUT_PROVEEDOR 
en donde NOTA_COSTO, NOTA_CALIDAD, NOTA_TIEMPO, NOTA_DURACION es la nota de recepcion de productos del proveedor en donde se evaluan cada eso nota maxima un 4

la consulta me devuelve lo siguiente ej;
Código PHP:
RUT_PROVEEDOR     NCOS             NCAL             NTIE            NDUR
1                          100.000000    100.000000    100.000000    100.000000
1                           25.000000    25.000000    25.000000    25.000000
2                           25.000000    25.000000    25.000000    25.000000
2                            100.000000    100.000000    100.000000    100.000000
1                            100.000000    100.000000    100.000000    100.000000 
ahora que es lo que necesito
- obtener el numero de repeticiones de proveedor (para este caso seria 1=3 y 2=2
- sacar el promedio de notas por criterio y proveedor (proveedor 2 NCOS=62,5 ; NCAL=62,5 ; NTIE=62,5 ; NDUR=62,5)

Algunas idea o sugerencia.

Saludos
  #2 (permalink)  
Antiguo 27/10/2009, 15:38
Avatar de Atonovich  
Fecha de Ingreso: diciembre-2002
Ubicación: ...
Mensajes: 117
Antigüedad: 21 años, 4 meses
Puntos: 0
Respuesta: Consulta Promedio

A capella creo que podrían quedar así:
La primera consulta:
SELECT COUNT(*), RUT_PROVEEDOR FROM (SELECT Compras.DOCUMENTO_COMPRA.RUT_PROVEEDOR AS RUT_PROVEEDOR,
((Compras.DOCUMENTO_COMPRA.NOTA_COSTO * 100)/4) AS NCOS,
((Compras.DOCUMENTO_COMPRA.NOTA_CALIDAD * 100)/4) AS NCAL,
((Compras.DOCUMENTO_COMPRA.NOTA_TIEMPO * 100)/4) AS NTIE,
((Compras.DOCUMENTO_COMPRA.NOTA_DURACION * 100)/4) AS NDUR

FROM Compras.DOCUMENTO_COMPRA INNER JOIN compras.PROVEEDOR ON
Compras.DOCUMENTO_COMPRA.RUT_PROVEEDOR = Compras.PROVEEDOR.RUT_PROVEEDOR
) TABLA
GROUP BY RUT_PROVEEDOR


La segunda:

SELECT RUT_PROVEEDOR, AVG(NCOS), AVG(NCAL), AVG(NTIE), AVG(NDUR)
FROM (SELECT Compras.DOCUMENTO_COMPRA.RUT_PROVEEDOR RUT_PROVEEDOR,
((Compras.DOCUMENTO_COMPRA.NOTA_COSTO * 100)/4) AS NCOS,
((Compras.DOCUMENTO_COMPRA.NOTA_CALIDAD * 100)/4) AS NCAL,
((Compras.DOCUMENTO_COMPRA.NOTA_TIEMPO * 100)/4) AS NTIE,
((Compras.DOCUMENTO_COMPRA.NOTA_DURACION * 100)/4) AS NDUR

FROM Compras.DOCUMENTO_COMPRA INNER JOIN compras.PROVEEDOR ON
Compras.DOCUMENTO_COMPRA.RUT_PROVEEDOR = Compras.PROVEEDOR.RUT_PROVEEDOR
) TABLA
GROUP BY RUT_PROVEEDOR, NCOS, NCAL, NTIE, NDUR
__________________
" El hombre es una invención de Dios o Dios es una invención del hombre..."
  #3 (permalink)  
Antiguo 24/11/2009, 14:25
 
Fecha de Ingreso: diciembre-2007
Mensajes: 5
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Consulta Promedio

Como necesitaba preguntar algo mas al foro, vi mi pregunta anterior asi que pongo mi solucion que necesitaba

Código PHP:
        SELECT        Compras.DOCUMENTO_COMPRA.RUT_PROVEEDOR,
                    
Compras.PROVEEDOR.NOMBRE_PROVEEDOR
                    
Compras.PROVEEDOR.ALIAS_PROVEEDOR
                    ((
AVG(Compras.DOCUMENTO_COMPRA.NOTA_COSTO) * 100) / 4) AS PROMEDIO_NCOS
                    ((
AVG(Compras.DOCUMENTO_COMPRA.NOTA_CALIDAD) * 100) / 4) AS PROMEDIO_CAL
                    ((
AVG(Compras.DOCUMENTO_COMPRA.NOTA_TIEMPO) * 100) / 4) AS PROMEDIO_TIE
                    ((
AVG(Compras.DOCUMENTO_COMPRA.NOTA_DURACION) * 100) / 4) AS PROMEDIO_NDUR
                    
COUNT(Compras.DOCUMENTO_COMPRA.RUT_PROVEEDOR) AS NCOMPRAS,
                    ((((
AVG(Compras.DOCUMENTO_COMPRA.NOTA_COSTO) * 100) / 4) + ((AVG(Compras.DOCUMENTO_COMPRA.NOTA_CALIDAD) * 100) / 4) + ((AVG(Compras.DOCUMENTO_COMPRA.NOTA_TIEMPO) * 100) / 4) + ((AVG(Compras.DOCUMENTO_COMPRA.NOTA_DURACION) * 100) / 4))/4) AS PROMGENER            
                    
        FROM        Compras
.DOCUMENTO_COMPRA INNER JOIN Compras.PROVEEDOR ON 
                    Compras
.DOCUMENTO_COMPRA.RUT_PROVEEDOR Compras.PROVEEDOR.RUT_PROVEEDOR

        GROUP BY    Compras
.DOCUMENTO_COMPRA.RUT_PROVEEDORCompras.PROVEEDOR.NOMBRE_PROVEEDOR
                    
Compras.PROVEEDOR.ALIAS_PROVEEDOR 
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 12:52.