Es raro que no lo encontrarás, porque el foro de Bases de Datos General Está bien a la vista, en la página principal...
Supongo que sabes que SQL es el lenguaje de consulta que se usa en BB.DD. , ¿no?
En cualquier caso el error es
elemental...
Código MySQL:
Ver original ped.Cod,
SUM(det.Peso_Kg_U
* det.Unidades
) AS Peso_Kg
, est.Descripcion
AS Estado
INNER JOIN control_ped con
ON con.Cod_Cod_Ped
= ped.Cod
INNER JOIN estado_ped est
ON est.Cod
= con.Estado_Cod_Est
INNER JOIN detalle_ped det
ON det.Pedido_Cod_Pedido
= ped.Cod
INNER JOIN sucursal suc
ON suc.Cod
= ped.Destino_Cod_Suc
AND shr.Ruta_Cod_Rut
='$codRut' # ------------------------------------------------------------------
# ESTO ESTA MAL, MUY MAL
# ------------------------------------------------------------------
AND SUM(det.Peso_Kg_U
* det.Unidades
) <= '$capDisp' # ------------------------------------------------------------------
Esa línea está espantosamente mal...
Está completamente prohibido, en todos los DBMS, usar funciones agrupadas como SUM() en el WHERE.
¿Queda claro?
NO puedas usar un SUM(), AVG(), MAX(), MIN(), etc. en el WHERE. NUNCA.
SI necesitas que se evalúe un valor que resultará de la función agregada, se usa el HAVING:
Código MySQL:
Ver original ped.Cod,
mun.Nombre Destino,
SUM(det.Peso_Kg_U
* det.Unidades
) Peso_Kg
, est.Descripcion Estado
INNER JOIN control_ped con
ON con.Cod_Cod_Ped
= ped.Cod
INNER JOIN estado_ped est
ON est.Cod
= con.Estado_Cod_Est
INNER JOIN detalle_ped det
ON det.Pedido_Cod_Pedido
= ped.Cod
INNER JOIN sucursal suc
ON suc.Cod
= ped.Destino_Cod_Suc
AND shr.Ruta_Cod_Rut
='$codRut' HAVING SUM(det.Peso_Kg_U
* det.Unidades
) <= '$capDisp'