
21/08/2008, 13:14
|
 | | | 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 .
Última edición por arielcasanova; 21/08/2008 a las 15:48
Razón: edito las variables
|