SoloCodigo
Bases de Datos => MySQL => Mensaje iniciado por: gokufast en Martes 25 de Septiembre de 2007, 08:26
-
Tengo el Siguiente Query:
$cod=$_GET[codigo];
$result=mysql_query("
SELECT
det.numero_com as comprobante,
comp.fecha_com AS fecha,
det.detalle_co as detalle,
ifnull(det.debe_com, 0) AS debe,
ifnull(det.haber_com, 0) AS haber,
(SELECT SUM(ifnull(det.debe_com, 0)-ifnull(det.haber_com, 0))
FROM detcompb det
WHERE det.numero_com <= comprobante
AND det.codigo_ana = $cod
AND det.codigo_cta = 13105202
) AS saldo
FROM
detcompb det, compbtes comp
WHERE
det.codigo_ana = $cod
AND det.codigo_cta = 13105202
AND comp.numero_com=det.numero_com
GROUP BY
comprobante
ORDER BY
fecha",$link);
********************************
Y me da el siguiente Error
#1104 - The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET
SQL_MAX_JOIN_SIZE=# if the SELECT is okay
como puedo solucionarlo?
-
bueno haciendo pruebas y mas pruebas resolvi el problema aunque no me convence pues da como resultado lo que quiero, y lo usare hasta optimizar mejor la consulta.
$cod=$_GET[codigo];
$sql="SET SQL_BIG_SELECTS=1;";
$result=mysql_query("$sql");
$result=mysql_query("
SELECT
det.numero_com as comprobante,
comp.fecha_com AS fecha,
det.detalle_co as detalle,
ifnull(det.debe_com, 0) AS debe,
ifnull(det.haber_com, 0) AS haber,
(SELECT SUM(ifnull(det.debe_com, 0)-ifnull(det.haber_com, 0))
FROM detcompb det
WHERE det.numero_com <= comprobante
AND det.codigo_ana = $cod
AND det.codigo_cta = 13105202) AS saldo
FROM
detcompb det JOIN compbtes comp
ON det.numero_com=comp.numero_com
WHERE
det.codigo_ana = $cod
AND det.codigo_cta = 13105202
GROUP BY
comprobante
ORDER BY
fecha",$link);
Ojala le pueda servir a alguien mas