Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

252
Vistas
Actualizar donde existe eliminar fila donde no existe

Puedo actualizar bien y puedo eliminar bien, pero quiero hacer ambas cosas a la vez.

Tengo una tabla ORIG como esta, los nombres de las columnas son

 ref,fname,lname,add1,add2,add3,add4 A1 abcdhj S2 fdseyt B3 jfseop

Donde la primera columna es única

luego otra tabla DATA como esta

 ref,fname,lname,add1,add2 A1 bcde B3 kght

Quiero actualizar la primera tabla usando la segunda y eliminar las filas que no tienen el único

Entonces, el resultado final debe ser la tabla ORIG como a continuación

 A1 bcdehj B3 kghtop

¿Puedo lograr esto de una sola vez?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Podría abordar esto usando CTE:

 with u as ( update orig set b = db, . . . from data d where da = orig.a returning * ) delete from orig where not exists (select 1 from u where ua = da);

El primer CTE actualiza las filas. El segundo hace la eliminación.

over 4 years ago · Santiago Trujillo Denunciar

0

Puede usar una subconsulta correlacionada para esto:

 delete from orig o where not exists ( select 1 from data d where d.col1 = o.col1 )
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda