SQL - Calculos en un Select

 
Vista:

Calculos en un Select

Publicado por Marta (1 intervención) el 25/07/2006 10:41:56
Buenas a tod@s,

Estoy teniendo algunos problemas a la hora de realizar sacar una consulta.
Mi caso es el siguiente.
Tengo dos tablas, una calculistas con los campos Cod_Calculista y Oficina
y otra tabla denominada Proyectos con los campos Expediente,Cod_Calculista,Delegacion, Superficie, HorasEmpleadas,Reforma(campo bit, si esta a 1 significa que es una reforma)
Hay 3 oficinas diferentes. 01, 02 y 03 que se corresponden con los codigos de Delegacion en la tabla Proyectos.
Cada calculista esta identificado en ambas tablas mediante un codigo al igual que las oficinas.
Lo que deseo sacar es un sumatorio total de las superficies y horas para cada una de las oficinas.
Es decir la suma de todas las superficies calculadas por los calculistas de cada oficina que no esten marcados como reforma asi como la suma total de horas por oficina en las que si se incluyan los marcados como reforma

Pongo lo siguiente para sacar el de una sola oficina

select A1.Oficina OFICINA, SUM(A2.Superficie) SUPERFICIE, SUM(A2.HorasEmpleadas) HORAS
from Calculistas A1, Proyectos A2
where A1.Oficina = A2.Delegacion AND FechaInicioProyecto between '01/04/2006' AND '30/04/2006' And Reforma='0'
group by A1.Oficina

Pero al comprobar los resultados, no se corresponden con la realidad, no se que calculos me esta realizando realmente.

Alguien podria echarme una mano!!!!!
Muy Agradecida!!!!!!!!!!!!!!!!!

Marta
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Calculos en un Select

Publicado por Isaías (5072 intervenciones) el 25/07/2006 17:58:03
Hay varias cosas que puedes mejorar en tu query, primero los JOIN, manejalos con esta instruccion, el manejo de campos fecha, realizalos con >= y <=, claro, con formato ANSI (YYYY-MM-DD), ejemplo:

select A1.Oficina OFICINA, SUM(A2.Superficie) SUPERFICIE, SUM(A2.HorasEmpleadas) HORAS
from Calculistas A1 JOIN Proyectos A2 ON A1.Oficina = A2.Delegacion
where FechaInicioProyecto >= '2006-04-01' AND FechaInicioProyecto <='2006-04-30' And Reforma='0'
group by A1.Oficina
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar