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

realizar un update con un select que tiene case

Estas en el tema de realizar un update con un select que tiene case en el foro de Bases de Datos General en Foros del Web. Cordial saludo, Estoy trabajando con Sql server 2014 y tengo una consulta que incluye un case para realizar unos calculos. investigando la sintaxis para realizar ...
  #1 (permalink)  
Antiguo 13/06/2018, 11:44
 
Fecha de Ingreso: febrero-2005
Mensajes: 673
Antigüedad: 13 años, 10 meses
Puntos: 2
Pregunta realizar un update con un select que tiene case

Cordial saludo,

Estoy trabajando con Sql server 2014 y tengo una consulta que incluye un case para realizar unos calculos.

investigando la sintaxis para realizar un update con select es

Código SQL:
Ver original
  1. UPDATE
  2.     Table_A
  3. SET
  4.     Table_A.col1 = Table_B.col1,
  5.     Table_A.col2 = Table_B.col2
  6. FROM
  7.     Some_Table AS Table_A
  8.     INNER JOIN Other_Table AS Table_B
  9.         ON Table_A.id = Table_B.id
  10. WHERE
  11.     Table_A.col3 = 'cool'
[/QUOTE]

La pregunta es como hago para incluir el case de mi select

Agradezco de antemano la ayuda que me puedan brindar.

Última edición por gnzsoloyo; 13/06/2018 a las 12:43
  #2 (permalink)  
Antiguo 13/06/2018, 14:16
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.323
Antigüedad: 12 años, 5 meses
Puntos: 761
Respuesta: realizar un update con un select que tiene case

podria ser asi

Código SQL:
Ver original
  1. UPDATE tabla
  2. SET tabla.campo_viejo=t1.campo_nuevo
  3. FROM
  4. (
  5. SELECT CASE WHEN condicion THEN valor END valor END AS campo_nuevo, id FROM
  6. otra_tabla
  7. ) AS t1 WHERE t1.id=tabla.id
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: case, select, sql, update
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 17:43.