Ver Mensaje Individual
  #5 (permalink)  
Antiguo 20/07/2012, 07:55
Avatar de Libras
Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Hacer un Update usando Case!

Cita:
Iniciado por stuart_david3 Ver Mensaje
Pero así tendría que hacer varios UPADTE's o ahm, varias tablas temporales cierto?... Algo así:

Código SQL:
Ver original
  1. UPDATE tabla
  2. SET campo=t1.dato
  3. FROM
  4. (
  5. SELECT CASE WHEN campo=1 THEN 'si' ELSE no END AS dato, campo FROM tabla
  6. ) AS t1,
  7. campo=t2.dato
  8. FROM
  9. (
  10. SELECT CASE WHEN campo=1 THEN 'si' ELSE no END AS dato, campo FROM tabla
  11. ) AS t2,
  12. campo=t3.dato
  13. FROM
  14. (
  15. SELECT CASE WHEN campo=1 THEN 'si' ELSE no END AS dato, campo FROM tabla
  16. ) AS t3,
  17. WHERE
  18. tabla.campo=t1.campo
  19. AND tabla.campo=t2.campo
  20. AND tabla.campo=t3.campo

Sería algo así, lo que pasa es que ahorita no estoy con la base de datos que estoy trabajando y no la puedo hechar a andar, la probaré lo más pronto posible mañana y te cuento, pero si será así más o menos para varios campos?...

Saludos y gracias!...
porque varios subquerys? si todos son sobre la misma columna nada mas pondrias el valor que necesitas, la solucion del compañero GeriReshef se ve bien y aplica tambien para tu caso :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me