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

Update con un join

Estas en el tema de Update con un join en el foro de SQL Server en Foros del Web. UPDATE COPIA INNER JOIN DATOS ON (COPIA.NUMERO = DATOS.NUMERO AND DATOS.MARCA = '001') SET COPIA.CHECK = 1 WHERE YEAR(COPIA.FECHA) = '2005' Como hago un update ...
  #1 (permalink)  
Antiguo 21/03/2006, 06:22
 
Fecha de Ingreso: julio-2005
Ubicación: España
Mensajes: 91
Antigüedad: 19 años, 4 meses
Puntos: 0
Update con un join

UPDATE COPIA INNER JOIN DATOS ON (COPIA.NUMERO = DATOS.NUMERO AND DATOS.MARCA = '001')
SET COPIA.CHECK = 1 WHERE YEAR(COPIA.FECHA) = '2005'

Como hago un update con un join??xq m dice "Sintaxis incorrecta cerca de la palabra clave 'INNER'."??
  #2 (permalink)  
Antiguo 22/03/2006, 12:46
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años, 6 meses
Puntos: 25
Update Copia
Set Copia.check = 1
From
Copia Inner Join Datos
On Copia.numero = Datos.numero
And Datos.marca = '001'
Where Year(copia.fecha) = '2005'
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #3 (permalink)  
Antiguo 07/06/2010, 09:52
 
Fecha de Ingreso: mayo-2010
Mensajes: 212
Antigüedad: 14 años, 6 meses
Puntos: 3
Respuesta: Update con un join

Cita:
Iniciado por phpman Ver Mensaje
UPDATE COPIA INNER JOIN DATOS ON (COPIA.NUMERO = DATOS.NUMERO AND DATOS.MARCA = '001')
SET COPIA.CHECK = 1 WHERE YEAR(COPIA.FECHA) = '2005'

Como hago un update con un join??xq m dice "Sintaxis incorrecta cerca de la palabra clave 'INNER'."??
Tengo un problema similar pero son varios JOINS
UPDATE contra_empleados E, contra_desc_general G, contra_direccion D, contra_perfil P, contra_escolaridad S SET E.nombre = '$vNombre', E.apellido_paterno = '$vAPPA', E.apellido_materno = '$vAPMA', E.CURP = '$vCURP', E.RFC = '$vRFC', E.IMSS = '$vIMSS', E.INFONAVIT = '$vINFONAVIT', E.fecha_inicio = '$vINICIO', E.renew1 = '$vMES', E.renew2 = '$vTRIO', E.renew3 = '$vANIO', E.sueldo = '$vSUELDO', G.sexo = '$vSEXO',G.edad = '$vEDAD', G.estado_civil = '$vEDOCIV', D.calle = '$vCALLE', D.colonia = '$vCOLONIA', D.del_mun = '$vDELMUN', D.estado = '$vEDO ', S.titulo_carrera = '$vTITULO', S.institucion = '$vINSTITUCION', S.descripcion = '$vDESCESC', P.nombre = '$vJOB' WHERE E.id_empleado = $Id_empleado AND E JOIN G USING (Id_general) AND E JOIN D USING (Id_direccion) AND E JOIN P USING (Id_puesto) AND E JOIN S USING (Id_escolaridad);

Ademas de de los joins me provoca el problema de actualizarme todos los registros de la tabla contra_direccion.

Agradesco de antemano la ayuda
  #4 (permalink)  
Antiguo 07/06/2010, 15:45
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 17 años, 4 meses
Puntos: 180
Respuesta: Update con un join

La estructura del UPDATE debe ser siempre la misma

UPDATE tabla SET CAMPOS
FROM (tus joins)
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 13:43.