Create View con suma sobre campo fecha

03/05/2006 - 19:15 por mayowr | Informe spam
Buenas tardes:

No se si se puede crear una vista en SQL donde una de las columnas
tenga una condición.

Me explico con los siguientes datos:
Apellido+Nombre FechaInicial Dias FechaReal
Ruiz Clara 1982/07/12 112 1982/11/01
Perez Pedro 2001/01/28 2001/01/28

La vista que estoy armando la tengo de la siguiente forma:

CREATE VIEW CALCFECHA
AS
SELECT EMP.EMPLE,
SUBSTRING(RTRIM(EMP.APELLIDO)+' '+
RTRIM(EMP.NOMBRE),1,35) AS NOMEMP,
EMP.F_INICIAL,
CONVERT(DECIMAL(10,2),dbo.DIAS (EMP.EMPLE)) AS DIAS1,
DATEADD(dd,dbo.DIAS(EMP.EMPLE),F_INICIAL) AS F_REAL
FROM EMP

Al ejecutar la vista, me muestra lo siguiente:
Apellido+Nombre FechaInicial Dias FechaReal
Ruiz Clara 1982/07/12 112 1982/11/01
Perez Pedro 2001/01/28 0

Y lo que requiero es que si Dias es 0, me deje en FechaReal, la
FechaInicial, así como lo hace cuando tengo un valor en Dias.

Gracias,
Mayo

Preguntas similare

Leer las respuestas

#6 mayowr
03/05/2006 - 22:22 | Informe spam
Hola Alejandro:

Que pena contigo pero no he podido hacer que me funcione.

Sigo con el mismo problema, cuando la función DIAS es 0 (ensaye
también con ' ' y con NULL), en la columna donde va F_REAL, me la
deja en blanco, así:

NOMEMP F_INICIAL DIAS F_REAL
Ruiz Clara 1982/07/12 112 1982/11/01
Perez Pedro 2001/01/28

Y lo que requiero es así:
NOMEMP F_INICIAL DIAS F_REAL
Ruiz Clara 1982/07/12 112 1982/11/01
Perez Pedro 2001/01/28 2001/01/28

Gracias,
Mayo
Respuesta Responder a este mensaje
#7 Alejandro Mesa
03/05/2006 - 22:43 | Informe spam
,

La sentencia anterior debe hacer ese trabajo. Puede ser que tu funcion
dbo.DIAS(EMP.EMPLE) este devolviendo NULL y no 0. En ese caso trata:

SELECT EMP.EMPLE ,
SUBSTRING(RTRIM(EMP.APELLIDO)+' '+
RTRIM(EMP.NOMBRE),1,35) AS NOMEMP,
EMP.F_INICIAL
CASE WHEN isnull(dbo.DIAS(EMP.EMPLE), 0) = 0 THEN
EMP.F_INICIAL
ELSE
DATEADD(dd,dbo.DIAS(EMP.EMPLE),F_INICIAL) END AS
F_REAL
FROM EMP
go


AMB


"" wrote:

Hola Alejandro:

Que pena contigo pero no he podido hacer que me funcione.

Sigo con el mismo problema, cuando la función DIAS es 0 (ensaye
también con ' ' y con NULL), en la columna donde va F_REAL, me la
deja en blanco, así:

NOMEMP F_INICIAL DIAS F_REAL
Ruiz Clara 1982/07/12 112 1982/11/01
Perez Pedro 2001/01/28

Y lo que requiero es así:
NOMEMP F_INICIAL DIAS F_REAL
Ruiz Clara 1982/07/12 112 1982/11/01
Perez Pedro 2001/01/28 2001/01/28

Gracias,
Mayo


Respuesta Responder a este mensaje
#8 mayowr
03/05/2006 - 23:08 | Informe spam
Muchisimas gracias Alejandro.

Efectivamante me estaba devolviendo NULL en vez de 0.

Disculpa tanta molestia, pero de no ser por tu ayuda no lo hubiese
podido hacer.
Como ya sabes no se de SQL y eso de ser autodidacta es bien complicado.

Saludos,
Mayo
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida