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

Consulta UPDATE avanzada

Estas en el tema de Consulta UPDATE avanzada en el foro de SQL Server en Foros del Web. Buenas noches foreros. Teniendo esta consulta Código: SELECT SP.COD_ESTADO FROM SALUD..SI_PAGOS_CONCEPTOS SP INNER JOIN SINIESTROS..PERCEPTORES PE ON SP.COD_PERCEPTOR = PE.COD_PERCEPTOR INNER JOIN SINIESTROS..ENTIDADES E ON ...
  #1 (permalink)  
Antiguo 30/10/2007, 12:46
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 10 meses
Puntos: 7
Consulta UPDATE avanzada

Buenas noches foreros.

Teniendo esta consulta
Código:
	SELECT  SP.COD_ESTADO

		FROM SALUD..SI_PAGOS_CONCEPTOS  SP 
			INNER JOIN SINIESTROS..PERCEPTORES PE   
				ON SP.COD_PERCEPTOR = PE.COD_PERCEPTOR    
			INNER JOIN SINIESTROS..ENTIDADES E   
				ON E.COD_ENTIDAD= PE.COD_ENTIDAD    
			INNER JOIN SINIESTROS..DIRECCIONES  DI   
				ON  DI.COD_ENTIDAD= PE.COD_ENTIDAD AND DI.NUM_REGDIR= PE.NUM_REGDIRECCION    
			INNER JOIN INTERNET..ATPROV  PROV  		
				ON  PROV.CODI= DI.COD_MUNICIPIO

		WHERE ID_ESTADOPAGO=0
		AND SP.COD_ESTADO='PGCACE'
		ORDER BY COD_PAGO DESC


¿ Como podria hacer un update del campo SP.COD_ESTADO ?
Estoy intentando cosas como:
Código:
UPDATE SALUD..SI_PAGOS_CONCEPTOS SP

		SET SP.COD_ESTADO='ACE'

			INNER JOIN SINIESTROS..PERCEPTORES PE   
				ON SP.COD_PERCEPTOR = PE.COD_PERCEPTOR    
			INNER JOIN SINIESTROS..ENTIDADES E   
				ON E.COD_ENTIDAD= PE.COD_ENTIDAD    
			INNER JOIN SINIESTROS..DIRECCIONES  DI   
				ON  DI.COD_ENTIDAD= PE.COD_ENTIDAD 
				AND DI.NUM_REGDIR= PE.NUM_REGDIRECCION    
			INNER JOIN INTERNET..ATPROV  PROV  		
				ON  PROV.CODI= DI.COD_MUNICIPIO

		WHERE ID_ESTADOPAGO=0
		AND SP.COD_ESTADO='PGCACE'
		ORDER BY COD_PAGO DESC
Pero me lanza el siguiente error:
Msg 156, Level 15, State 1, Line 33
Incorrect syntax near the keyword 'INNER'.


En fin, la verdad, no se como hacer para usar esas mismas condiciones pero en el update, si pudieran ayudarme a crear la orden se lo agradecería.

un saludo.
__________________
Charlie.
  #2 (permalink)  
Antiguo 30/10/2007, 14:18
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Re: Consulta UPDATE avanzada

Código:
		UPDATE SALUD..SI_PAGOS_CONCEPTOS 

		SET SP.COD_ESTADO='ACE'

		FROM SALUD..SI_PAGOS_CONCEPTOS  SP 
			INNER JOIN SINIESTROS..PERCEPTORES PE   
				ON SP.COD_PERCEPTOR = PE.COD_PERCEPTOR    
			INNER JOIN SINIESTROS..ENTIDADES E   
				ON E.COD_ENTIDAD= PE.COD_ENTIDAD    
			INNER JOIN SINIESTROS..DIRECCIONES  DI   
				ON  DI.COD_ENTIDAD= PE.COD_ENTIDAD 
				AND DI.NUM_REGDIR= PE.NUM_REGDIRECCION    
			INNER JOIN INTERNET..ATPROV  PROV  		
				ON  PROV.CODI= DI.COD_MUNICIPIO

		WHERE ID_ESTADOPAGO=0
		AND SP.COD_ESTADO='PGCACE'
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #3 (permalink)  
Antiguo 30/10/2007, 14:26
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 10 meses
Puntos: 7
Re: Consulta UPDATE avanzada

Muchas gracias amigo, creo que va cogiendo mejor forma:

Código:
DECLARE @FECHA char(8)
DECLARE @HORA char(4)
SET @FECHA = convert(char(8), getdate(), 112)          
SET @HORA = replace(convert(char(5), getdate(), 114),':','')

UPDATE SALUD..SI_PAGOS_CONCEPTOS

		SET SP.ID_ESTADOPAGO=1,
	        SP.COD_USUARIOMOD='',
	        SP.FEC_MODIFICA = @FECHA,
	        SP.HOR_MODIFICA = @HORA

FROM SALUD..SI_PAGOS_CONCEPTOS  SP 
			INNER JOIN SINIESTROS..PERCEPTORES PE   
				ON SP.COD_PERCEPTOR = PE.COD_PERCEPTOR    
			INNER JOIN SINIESTROS..ENTIDADES E   
				ON E.COD_ENTIDAD= PE.COD_ENTIDAD    
			INNER JOIN SINIESTROS..DIRECCIONES  DI   
				ON  DI.COD_ENTIDAD= PE.COD_ENTIDAD 
				AND DI.NUM_REGDIR= PE.NUM_REGDIRECCION    
			INNER JOIN INTERNET..ATPROV  PROV  		
				ON  PROV.CODI= DI.COD_MUNICIPIO

		WHERE ID_ESTADOPAGO=0
		AND SP.COD_ESTADO='PGCACE'

Error:

Msg 4104, Level 16, State 1, Line 32
The multi-part identifier "SP.ID_ESTADOPAGO" could not be bound.
__________________
Charlie.
  #4 (permalink)  
Antiguo 30/10/2007, 14:28
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 10 meses
Puntos: 7
Re: Consulta UPDATE avanzada

Ya esta solucionado amigo, a quien le interese:

Sobraba el SP. en los campos.

Muchas gracias por tu ayuda Andres95
__________________
Charlie.
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 18:50.