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

mysql no sabe multiplicar?

Estas en el tema de mysql no sabe multiplicar? en el foro de Mysql en Foros del Web. observen el resultado que me arroja esta consulta. Los campos en negrita son los que se multiplican y la ultima fila es el resultado. observen ...
  #1 (permalink)  
Antiguo 18/06/2006, 00:39
Avatar de moron  
Fecha de Ingreso: mayo-2004
Mensajes: 972
Antigüedad: 20 años
Puntos: 2
mysql no sabe multiplicar?

observen el resultado que me arroja esta consulta. Los campos en negrita son los que se multiplican y la ultima fila es el resultado. observen el resultado en rojo. me esta resolviendo que 1 * 0.4 = 0.8. o es que es muy tarde y ya no me da mas la cabeza o eso debería dar 0,4?


idPedido cantArt idArticulo cantMat idMat cantStock
3 | 5 | 1 | 0,5 | 2 | 2,5
3 | 5 | 1 | 1 | 3 | 5,0
3 | 1 | 2 | 0,4 | 2 | 0,8

Aquí la consulta que estoy haciendo.
Código:
select PD.idPedido,PD.cantidad as cantArt,PD.idArticulo,AM.cantidad as cantMat,AM.idMaterial,
sum(PD.cantidad * AM.cantidad) as cantidadStock from `tb_pedidosproducciondetalle`
PD right join `tb_asociacionmateriales` AM
on PD.idArticulo= AM.idArticulo right join `tb_materiales` TM
on TM.id = AM.idMaterial group by PD.idArticulo,TM.id
saludos
  #2 (permalink)  
Antiguo 18/06/2006, 13:28
Avatar de haron  
Fecha de Ingreso: febrero-2004
Ubicación: Cádiz (refinitivo)
Mensajes: 632
Antigüedad: 20 años, 2 meses
Puntos: 3
no lo he mirado bien porque la consulta es muy larga, pero si cambias:

sum(PD.cantidad * AM.cantidad)

por

sum(PD.cantidad) * sum(AM.cantidad)

a lo mejor te funciona
__________________
Si ocurre algo importante, estamos afuera fumándonos unos cigarritos.
  #3 (permalink)  
Antiguo 19/06/2006, 12:55
Avatar de moron  
Fecha de Ingreso: mayo-2004
Mensajes: 972
Antigüedad: 20 años
Puntos: 2
Gracias por la respuesta, hice lo que me dijiste y la cosa empeoró (siempre hablando de solamente ese registro)
ahora me dice que 1 * 0.4 es 1.6
  #4 (permalink)  
Antiguo 19/06/2006, 13:17
Avatar de haron  
Fecha de Ingreso: febrero-2004
Ubicación: Cádiz (refinitivo)
Mensajes: 632
Antigüedad: 20 años, 2 meses
Puntos: 3
analizando un poco mas tu consulta, creo que estas haciendo algo mal. el campo "sum(PD.cantidad * AM.cantidad) as cantidadStock" es una suma de cantidades, mientras que "cantArt" y "cantMat" no lo son.

prueba con esta consulta a ver si funciona:
Código:
select
	PD.idPedido,
	sum(PD.cantidad) as cantArt,
	PD.idArticulo,
	sum(AM.cantidad) as cantMat,
	AM.idMaterial,
	sum(PD.cantidad) * sum(AM.cantidad) as cantidadStock
from `tb_pedidosproducciondetalle`PD
right join `tb_asociacionmateriales` AM
	on PD.idArticulo= AM.idArticulo
right join `tb_materiales` TM
	on TM.id = AM.idMaterial group by PD.idArticulo,TM.id
group by PD.idArticulo,TM.id
__________________
Si ocurre algo importante, estamos afuera fumándonos unos cigarritos.
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 10:18.