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

[SOLUCIONADO] delete con join

Estas en el tema de delete con join en el foro de SQL Server en Foros del Web. buenas tardes compañeros tengo una duda hice un delete con un join pero al parecer los datos de una tabla a se me cruzaron con ...
  #1 (permalink)  
Antiguo 05/02/2013, 13:59
Avatar de ronnyra  
Fecha de Ingreso: diciembre-2009
Mensajes: 173
Antigüedad: 15 años
Puntos: 1
delete con join

buenas tardes compañeros tengo una duda

hice un delete con un join pero al parecer los datos de una tabla a se me cruzaron con la otra quiero saber si asi como lo tengo esta correcto.


Código SQL:
Ver original
  1. DELETE [MLG_RESUMEN_HOJA_TIEMPO]
  2.     FROM [MAENOM] A
  3.     INNER JOIN [MLG_RESUMEN_HOJA_TIEMPO]  B
  4.     ON (A.NOM_CEDULA = B.RES_HOJA_EMP)
  5.     WHERE (B.RES_HOJA_FECHA BETWEEN '01/01/2013' AND '15/01/2013')

lo que quiero hacer es borrar los datos de MLG_RESUMEN_HOJA_TIEMPO
entre ese rango de fecha sin que me afecte la tabla de MAENOM

GRACIAS AGRADESCO SU COLABORACION
  #2 (permalink)  
Antiguo 05/02/2013, 14:28
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 4 meses
Puntos: 774
Respuesta: delete con join

para saber si tu query es correcto haz lo siguiente:

select * from [MLG_RESUMEN_HOJA_TIEMPO]
inner join [MAENOM] A on ()
INNER JOIN [MLG_RESUMEN_HOJA_TIEMPO] B
ON (A.NOM_CEDULA = B.RES_HOJA_EMP)
WHERE (B.RES_HOJA_FECHA BETWEEN '01/01/2013' AND '15/01/2013')

y ves que valores te regresa :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 05/02/2013, 14:37
Avatar de ronnyra  
Fecha de Ingreso: diciembre-2009
Mensajes: 173
Antigüedad: 15 años
Puntos: 1
Respuesta: delete con join

gracias por responder...

si lo ejecuto de esta forma me devuelve 231 registros

Código SQL:
Ver original
  1. SELECT * FROM [MAENOM] A
  2. INNER JOIN [MLG_RESUMEN_HOJA_TIEMPO] B
  3. ON (A.NOM_CEDULA = B.RES_HOJA_EMP)
  4. WHERE (B.RES_HOJA_FECHA BETWEEN '01/01/2013' AND '15/01/2013')
  #4 (permalink)  
Antiguo 05/02/2013, 14:54
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 4 meses
Puntos: 774
Respuesta: delete con join

pues tu sabes si esos registros son los que necesitas borrar no??
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 05/02/2013, 15:06
Avatar de ronnyra  
Fecha de Ingreso: diciembre-2009
Mensajes: 173
Antigüedad: 15 años
Puntos: 1
Respuesta: delete con join

si esos son pero solo quiero borrarlos de la tabla MLG_RESUMEN_HOJA_TIEMPO
pero verificacndo que si estan en maenom, asi estaria Bien hecho ???
  #6 (permalink)  
Antiguo 05/02/2013, 16:18
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 4 meses
Puntos: 774
Respuesta: delete con join

si salen los registros que quieres borrar de la tabla si, no afectas la segunda tabla ya que el delete es solo sobre la primera.
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: delete, join, tabla
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 19:05.