Ver Mensaje Individual
  #6 (permalink)  
Antiguo 04/05/2011, 05:49
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Restringir Valores

Cita:
necesito restringir para que no me saque una media que este mal, he unido 2 tablas para poder ingresar unos campos (dimension y atributos) por lo que debería de salir asi:
¿Qué es lo que consideras que es una media que esté mal? ¿En qué sentido está mal?
Una media, es una media, si el dato, probado manualmente, no cierra es porque el agrupamiento o la selección de los datos es incorrecta. No por el cálculo en sí.
En tu caso, lo que está mal construido es ese IF() que pones en la consulta, necesitas que el calcular las medias en forma separada, en dos subconsultas diferentes, y no integrarlas en la misma.
El error de sintaxis que te declara, por otra parte, es simple: en el WHERE las condiciones no se separan por comas. Se separan por AND, OR o XOR (éste último es poco conocido). Son condiciones lógicas, y toda operación lógica requiere operadores lógicos.

Yo probaría la consulta más o menos así (no estoy conforme, pero no quiero hacertela demasiado complicada):
Código MySQL:
Ver original
  1.     N.codigo,
  2.     N.segmento,
  3.     A.atributo,
  4.     A.dimension,
  5.     CONCAT('2011-02-01: ', FORMAT(AVG(IF(fecha2 = '2011-02-01', N.nota, NULL)), 2)) `2011-02-01`,
  6.     CONCAT('2011-03-01: ', FORMAT(AVG(IF(fecha2 = '2011-03-01', N.nota, NULL)), 2)) `2011-03-01`
  7. FROM notas N INNER JOIN atributos A ON N.codigo=A.codigo
  8. WHERE N.nota NOT IN (0,99)
  9. GROUP BY notas.fecha2, atributos.codigo
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)