Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/08/2011, 02:56
iamkujah
 
Fecha de Ingreso: agosto-2011
Mensajes: 1
Antigüedad: 12 años, 8 meses
Puntos: 0
Problemas para calcular valor medio con MySQL

Buenos días.

Quiero sacar la media de precio de 1 modelo de coche perteneciente a una marca. El problema es que hago la siguiente consulta y me devuelve la media de TODOS los vehículos de la marca, no del modelo que especifico. Os pego el código:

Código:
formPrincipal.conexda = New MySqlDataAdapter("SELECT AVG(general_precio) FROM tabla_general WHERE general_maid= '" & valormarcaid & "AND general_moid= " & valormodeloid & "'", formPrincipal.conexionbd)
            formPrincipal.conexdt = New DataTable()
            formPrincipal.conexda.Fill(formPrincipal.conexdt)

            MsgBox(formPrincipal.conexdt.Rows(0)("AVG(general_precio)"))

            If (IsDBNull(formPrincipal.conexdt.Rows(0)("AVG(general_precio)"))) Then
                lbmedia.Text = "No hay vehículos insertados."
            Else
                varMedia = formPrincipal.conexdt.Rows(0)("AVG(general_precio)")
                lbmedia.Text = "El precio medio del modelo " & cbmodelof.Text & " de " & cbmarcaf.Text & " es de " & varMedia & " €."
                'MsgBox(varMedia)

            End If
Os pongo el ejemplo, yo selecciono la marca ford, y el modelo mondeo, en el cual hay dos con el precio de 5000€, también hay un modelo fiesta con un precio de 4000€.

Si hago la consulta que aparece en el dataadapter en la web de MySQL, el resultado si es satisfactorio. Sin embargo, cuando trabajo con "formPrincipal.conexdt.Rows(0)("AVG(general_precio )")" parece que se olvida de las condiciones anteriormente especificadas, y me hace una media de TODOS los vehiculos pertenecientes a la marca, por tanto me hace la media de 14000, y no de 10000 como debería ser (la suma de los precios de los dos focus).

A ver si alguien me puede ayudar, ya que necesito que varMedia coja el valor de la media de los modelos que especifico.

Gracias!