04/09/2014, 09:59
|
| | Fecha de Ingreso: mayo-2007
Mensajes: 35
Antigüedad: 17 años, 5 meses Puntos: 0 | |
Respuesta: Añadir campo a vista y unificar con otro Hola Libras. Gracias por la respuesta!
Al final conseguí sacar el campo. El caso es que la estoy sacando con más campos y ahora me falla en un DateDiff entre la fecha actual y un campo fecha de mi BBDD.
La consulta es:
SELECT TOP (100) PERCENT O.IdOp AS [ID Operacion], COALESCE (G.Grupo, C.Nombre) AS [Grupo Inversor],
CASE WHEN G.PorcentajeParticipacion IS NOT NULL THEN dbo.Money2Varchar(G.PorcentajeParticipacion, 2, '%')
ELSE '' END AS Participación,
CASE WHEN G.PorcentajeParticipacion > 0 then (o.impop * G.PorcentajeParticipacion) /(100)
ElSE o.impop end as Nominal,
CASE WHEN (DATEDIFF(d, CONVERT(date, GETDATE(), 103), o.FchPrimerVto) < 30) THEN '1M'
WHEN (DATEDIFF(d, CONVERT(date, GETDATE(), 103), o.FchPrimerVto) < 90) THEN '3M'
ELSE '6M'end AS Plazo
FROM (SELECT DISTINCT IdOp, idCliente, sum(ImpOp) as impop, FchPrimerVto
FROM dbo.Operaciones group by IdOp, idCliente, FchPrimerVto ) AS O INNER JOIN
dbo.Clientes AS C LEFT OUTER JOIN
(SELECT G1.IDCliente, C1.ClaveDescr AS Grupo, G1.PorcentajeParticipacion
FROM dbo.GruposInversoresClientes AS G1 INNER JOIN
dbo.Claves AS C1 ON G1.GrupoInversor = C1.CodClave
WHERE (C1.GrupoClave = 'GRI') AND (C1.Cabecera = 1) AND (C1.Modificable = 1)) AS G
ON C.IdCliente = G.IDCliente ON O.IdCliente = C.IdCliente
WHERE (C.IDCartera = 2)
ORDER BY [Grupo Inversor]
El fallo que me lanza es "Arithmetic overflow error converting expression to data type datetime." en lo que te pongo en rojo.
Si a mi campo le pongo Convert(date,o.FchPrimerVto)) en esa linea marcada, me dice "Explicit conversion from data type int to date is not allowed."
Y si directamente le pongo una fecha con formato 'yyyyMMdd', no falla la consulta, pero el CASE no funciona bien y ponga la fecha que ponga, me saca 1M
Si tienes cualquier sugerencia, será bienvenida. |