Ver Mensaje Individual
  #4 (permalink)  
Antiguo 16/12/2014, 08:24
Avatar de Libras
Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Error intentando calcular una columna

que te faltan los campos por dode haces el amarre entre tus joins,

Código SQL:
Ver original
  1. SELECT
  2. Datos.AnioContrato,
  3. Datos.FchInicio,
  4. Datos.FchFin,
  5. Datos.FchBaja,
  6. t2.fecha,
  7. t2.Prorroga,
  8. NH,
  9. 5*NH AS Importe
  10. FROM (SELECT CASE Dato.AnioContrato
  11.     WHEN '0' THEN
  12.     CASE MONTH(Dato.FchInicio)
  13.         WHEN '2' THEN
  14.         CASE DAY(Dato.FchInicio)
  15.             WHEN '1' THEN 43
  16.                         ....
  17.             WHEN '31' THEN 2
  18.         END
  19.         ELSE 43    
  20.     END
  21.     ELSE
  22.     CASE DAY(Dato.FchInicio)
  23.         WHEN '1' THEN 26
  24.                 .....
  25.         WHEN '31' THEN 1
  26.     END
  27. END AS NH FROM OfcContratosFormacion_DatosCtto AS Dato) t1 INNER JOIN
  28. OfcContratosFormacion_DatosCtto AS Datos ON (t1.id=datos.id)
  29. RIGHT JOIN (
  30.     SELECT
  31.     MAX(FchInicio) AS fecha,
  32.     COUNT(FchInicio)-1 AS Prorroga,
  33.     IDContratoFormacion
  34.  
  35.     FROM OfcContratosFormacion_DatosCtto
  36.  
  37.     GROUP BY IDContratoFormacion) AS t2
  38.  
  39.     ON (Datos.IDContratoFormacion=t2.IDContratoFormacion AND Datos.FchInicio=t2.fecha)
  40.    
  41. WHERE Datos.FchInicio IS NOT NULL
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me