Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Consulta

Estas en el tema de Consulta en el foro de SQL Server en Foros del Web. hola amigos tengo una consulta en la cual si es viernes me muestra las personas que cumplen años el vienres sabado y domingo. Ademas adiciono ...
  #1 (permalink)  
Antiguo 12/08/2009, 11:49
 
Fecha de Ingreso: agosto-2006
Mensajes: 112
Antigüedad: 17 años, 8 meses
Puntos: 2
Consulta

hola amigos tengo una consulta en la cual si es viernes me muestra las personas que cumplen años el vienres sabado y domingo. Ademas adiciono un campo plus donde dice 'Cumple el: ' esto para que en mi aplicacion diga:

Persona 1 => Cumeple el: viernes 14
Persona 2 => Cumeple el: sabado 15
Persona 3 => Cumeple el: domingo 16

Todo me funciona correctamente, ahroa necesito ke el campo plus 'Cumple el: ' solo se muestre cuando es sabado y domingo, si es viernes no.

Mi consulta

Código:
IF 6 = (select datepart(dw,getDate()))
SELECT 
	PERSI_DNI, PERSI_NOMBRE + ' ' + PERSI_APATERNO as Persona, 
	PERSI_DIA, PERSI_MES, PERSI_AREA as Unidad,
	'Cumple el ' +  CAST(PERSI_DIA AS VARCHAR) as plus 
FROM CUMPT_PERSONAL
WHERE PERSI_MES = MONTH(GETDATE()) and PERSI_DIA between DAY(GETDATE()) and DAY(Dateadd(day,2,GETDATE()));
Posible solucion, pero sale error de sintaxis.

Código:
IF 6 = (select datepart(dw,getDate()))
SELECT 
	PERSI_DNI, PERSI_NOMBRE + ' ' + PERSI_APATERNO as Persona, 
	PERSI_DIA, PERSI_MES, PERSI_AREA as Unidad,

	(IF 6 <> (select datepart(dw,getDate()))
		SELECT 'Cumple el ' +  CAST(PERSI_DIA AS VARCHAR) as plus
	FROM CUMPT_PERSONAL) 

FROM CUMPT_PERSONAL
WHERE PERSI_MES = MONTH(GETDATE()) and PERSI_DIA between DAY(GETDATE()) and DAY(Dateadd(day,2,GETDATE()));
Gracias.

Saludos
  #2 (permalink)  
Antiguo 12/08/2009, 11:56
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Consulta

Cada dia de la semana esta identificado con un numero que va del 1 al 7, con esto, podrias cumplir el objetivo.
  #3 (permalink)  
Antiguo 12/08/2009, 12:15
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Consulta

http://msdn.microsoft.com/en-us/libr...8(SQL.90).aspx
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #4 (permalink)  
Antiguo 12/08/2009, 12:19
 
Fecha de Ingreso: agosto-2006
Mensajes: 112
Antigüedad: 17 años, 8 meses
Puntos: 2
Respuesta: Consulta

Eso trato de hacer pero quiero saber como se hace el if dentro de un select, el que muestro ahi me sale error de sitaxis, claro ahi pongo que si el dia es 6 que es viernes ya no me salga el puls.


Gracias
  #5 (permalink)  
Antiguo 12/08/2009, 13:41
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Consulta

Usa CASE WHEN <condicion> THEN <statement> ELSE <statement> END.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:07.