Ver Mensaje Individual
  #23 (permalink)  
Antiguo 21/08/2008, 13:14
Avatar de arielcasanova
arielcasanova
 
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 20 años, 4 meses
Puntos: 1
Respuesta: DESAFIO: Consulta imposible

tuve que cambiar el tema de las fechas 00-00-0000, así que ahora todas las tarifas están de la siguiente manera (por ejemplo)

id: 1 - id_consultor:3 - valor: 50 - fecha1:2000-01-01 - fecha2:2010-01-01


Cuando quiero obtener el total de cantidad de horas y el importe que hay que pagarle al consultor, seleccionando todos los proyectos y un consultor determinado, obtengo resultados irreales.
la consulta es:

SELECT
T1.id,
T1.nombre,
T1.proyecto,
SUM(T1.horas * t.valor) TOTAL
FROM

(SELECT c.id as id, c.nombre as nombre, v.fecha as fecha, v.horas as horas, v.proyecto as proyecto
FROM consultores c
INNER JOIN visitas v
ON v.id_consultor= c.id) T1

INNER JOIN tarifas t
ON t.id_consultor = T1.id
WHERE T1.fecha BETWEEN 2000-01-01 and 2010-01-01
AND T1.fecha BETWEEN t.fecha1 AND IF(t.fecha2 = '0000-00-00', NOW(),t.fecha2) GROUP BY t.id_consultor
HAVING T1.id = 3


en donde creo que podría reemplazar

AND T1.fecha BETWEEN t.fecha1 AND IF(t.fecha2 = '0000-00-00', NOW(),t.fecha2)

por

AND T1.fecha BETWEEN t.fecha1 AND t.fecha2

dado que t.fecha2 ya nunca será 0000-00-00.


Por lo demás, tengo "SUM(T1.horas * t.valor) TOTAL", que me hace pensar que de la consulta T1 obtuve la cantidad de horas de todos los proyectos, realizados por este consultor, entre fecha y fecha, pero no sé cómo está discriminando los rangos de fecha en los que la tarifa del consultor cambia.

Jurena: si me entendiste algo y podés ayudarme, muy agradecido .
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar

Última edición por arielcasanova; 21/08/2008 a las 15:48 Razón: edito las variables