Principales respuestas
Pasar Datos entre Campos de una misma tabla

Pregunta
-
Buenas tengo una consulta SQL SRV 2008 R2 tengo una tabla con mas de 400 registros y quisiera pasar datos de un campo a otro son del tipo varchar, el diseño de la tabla es la siguiente
Id / Nombres / Apellidos
Lo que pasa es que al momento de cargar la data subieron los apellidos en el campo Nombres y los Nombres en el campo Apellidos
Id / Nombres / Apellidos
1 Alejo Paul
y deberia ser :
Id / Nombres / Apellidos
1 Paul Alejo
Gracias.
Social C# Microsoft
Respuestas
-
Hola Paul Alejo Castro,
Basta con permutar el valor de las columnas:
/*Creación de objetos de prueba*/ CREATE TABLE #Datos (Id int, Nombres nvarchar(100), Apellidos nvarchar(100)); INSERT INTO #Datos VALUES (1, 'Molina', 'Juan'), (2, 'Rodriguez', 'Mario'), (3, 'Castro', 'Miriam'); /*Actualización de datos*/ UPDATE #Datos SET Nombres = Apellidos, Apellidos = Nombres; /*Revisión*/ SELECT * FROM #Datos; /*Eliminar objetos creados*/ DROP TABLE #Datos;
- Marcado como respuesta Paul Alejo Castro sábado, 23 de enero de 2016 16:02
Todas las respuestas
-
Hola Paul Alejo Castro,
Basta con permutar el valor de las columnas:
/*Creación de objetos de prueba*/ CREATE TABLE #Datos (Id int, Nombres nvarchar(100), Apellidos nvarchar(100)); INSERT INTO #Datos VALUES (1, 'Molina', 'Juan'), (2, 'Rodriguez', 'Mario'), (3, 'Castro', 'Miriam'); /*Actualización de datos*/ UPDATE #Datos SET Nombres = Apellidos, Apellidos = Nombres; /*Revisión*/ SELECT * FROM #Datos; /*Eliminar objetos creados*/ DROP TABLE #Datos;
- Marcado como respuesta Paul Alejo Castro sábado, 23 de enero de 2016 16:02
-
Recuerda siempre postear la definicion de tu estructura de datos y data de prueba para que nos sea mas sencillo ayudarte, debido a la minima cantidad de filas que afirmas tener en dicha tabla yo haria un proceso sencillo de copiar la data a una variable tipo tabla y sobre la misma realizar la actualizacion. Aqui un ejemplo que deberas renombrar con el nombre de la tabla que corresponda:
DECLARE @TablaPersona AS TABLE ( id int, Nombre varchar(200), Apellido varchar(200) ); -- Copias los datos de tu tabla a la variable de tipo Table INSERT INTO @TablaPersona SELECT * FROM TuTabla UPDATE T SET T.Nombre=@TablaPersona.Apellido, T.Apellido=@TablaPersona.Nombre FROM TuTabla AS T INNER JOIN @TablaPersona AS TP ON T.id=TP.id
No he tenido tiempo de probarlo, pero asumo que no habria problema, recuerda sacarte una copia de tu tabla o hacer dicha prueba en un entorno de prueba.
"How many years can some people exist before they're allowed to be free" Bob Dylan Email: info@geohernandez.com Blog: geeks.ms/blogs/ghernandez