Duda sobre consultas, tablas y resultados.
Que tal quisiera saber si pueden auxiliarme en un problema que tengo con unas consultas algo complejas, me permitiré explicar mi problema paso a paso para no perderme, verán tengo 3 consultas y 3 GRID's, en cada GRID muestro el resultado de cada consulta, tengo 3 tablas llamadas, camiones, góndolas y clientes y se me han presentado 2 problemas cuando me encontraba trabajando con estas.
1.- Cómo comentaba, muestro el resultado de cada consulta en un GRID, la función de las primeras 2 consultas es el sacar la suma total del campo "ton" (que es de tipo numérico), de las tablas camiones y regondolas en intervalos mes-año que yo especifico a través de 2 combo-box (uno para el mes y otro para el año), las consultas parecen funcionar bien, están escritas de la siguiente manera:
Para la tabla camiones:
SELECT SUM(Recamiones.ton) As Totales_Camiones FROM Recamiones WHERE (YEAR(Recamiones.date) = INT(VAL(Thisform.CCaño.Value)) .AND. MONTH(Recamiones.date) = INT(VAL(Thisform.CCmeses.Value))) .AND. (Recamiones.cli = 11) INTO CURSOR toneladas READWRITE
Para la tabla gondolas:
SELECT SUM(Regondolas.ton) As Totales_Gondolas FROM Regondolas WHERE (YEAR(Regondolas.date) = INT(VAL(Thisform.CCaño.Value)) .AND. MONTH(Regondolas.date) = INT(VAL(Thisform.CCmeses.Value))) .AND. (Recamiones.cli = 11) INTO CURSOR toneladas2 READWRITE
Parecen funcionar correctamente, como pueden ver se puede apreciar un fragmento de código que dice ".AND. (Recamiones.cli = 11)" y ".AND. (Regondolas.cli = 11)", eso es algo que también me tiene algo embolado y que explicare más adelante, bueno continuo, ahora la tercer consulta no es más que la suma de estos 2 totales que mencione antes hecha a través de una sola consulta, aquí es donde tiene origen mi primer problema, pues al comprobar los resultados de la suma de las primeras 2 consultas con el de la tercer consulta NO son los mismos, cuando deberían serlo puesto que simplemente es la unión de las 2 primeras consultas, pero la diferencia entre los resultados es muy grande, por más que reviso la consulta no le veo nada de malo, quisiera saber si me pueden ayudar a revisar esta tercera consulta por favor.
Consulta que me genera el total:
SELECT SUM(Regondolas.ton + Recamiones.ton) As Totales FROM Regondolas, Recamiones WHERE (YEAR(Recamiones.date) = INT(VAL(Thisform.CCaño.Value)) .AND. MONTH(Recamiones.date) = INT(VAL(Thisform.CCmeses.Value))) .AND. (YEAR(Regondolas.date) = INT(VAL(Thisform.CCaño.Value)) .AND. MONTH(Regondolas.date) = INT(VAL(Thisform.CCmeses.Value))) .AND. ((Recamiones.cli = 11) .AND. (Regondolas.cli = 11)) INTO CURSOR totales READWRITE
1.- Cómo comentaba, muestro el resultado de cada consulta en un GRID, la función de las primeras 2 consultas es el sacar la suma total del campo "ton" (que es de tipo numérico), de las tablas camiones y regondolas en intervalos mes-año que yo especifico a través de 2 combo-box (uno para el mes y otro para el año), las consultas parecen funcionar bien, están escritas de la siguiente manera:
Para la tabla camiones:
SELECT SUM(Recamiones.ton) As Totales_Camiones FROM Recamiones WHERE (YEAR(Recamiones.date) = INT(VAL(Thisform.CCaño.Value)) .AND. MONTH(Recamiones.date) = INT(VAL(Thisform.CCmeses.Value))) .AND. (Recamiones.cli = 11) INTO CURSOR toneladas READWRITE
Para la tabla gondolas:
SELECT SUM(Regondolas.ton) As Totales_Gondolas FROM Regondolas WHERE (YEAR(Regondolas.date) = INT(VAL(Thisform.CCaño.Value)) .AND. MONTH(Regondolas.date) = INT(VAL(Thisform.CCmeses.Value))) .AND. (Recamiones.cli = 11) INTO CURSOR toneladas2 READWRITE
Parecen funcionar correctamente, como pueden ver se puede apreciar un fragmento de código que dice ".AND. (Recamiones.cli = 11)" y ".AND. (Regondolas.cli = 11)", eso es algo que también me tiene algo embolado y que explicare más adelante, bueno continuo, ahora la tercer consulta no es más que la suma de estos 2 totales que mencione antes hecha a través de una sola consulta, aquí es donde tiene origen mi primer problema, pues al comprobar los resultados de la suma de las primeras 2 consultas con el de la tercer consulta NO son los mismos, cuando deberían serlo puesto que simplemente es la unión de las 2 primeras consultas, pero la diferencia entre los resultados es muy grande, por más que reviso la consulta no le veo nada de malo, quisiera saber si me pueden ayudar a revisar esta tercera consulta por favor.
Consulta que me genera el total:
SELECT SUM(Regondolas.ton + Recamiones.ton) As Totales FROM Regondolas, Recamiones WHERE (YEAR(Recamiones.date) = INT(VAL(Thisform.CCaño.Value)) .AND. MONTH(Recamiones.date) = INT(VAL(Thisform.CCmeses.Value))) .AND. (YEAR(Regondolas.date) = INT(VAL(Thisform.CCaño.Value)) .AND. MONTH(Regondolas.date) = INT(VAL(Thisform.CCmeses.Value))) .AND. ((Recamiones.cli = 11) .AND. (Regondolas.cli = 11)) INTO CURSOR totales READWRITE
1 respuesta
Respuesta de ervmaverick
1