FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Actualizar un campo vacio con el valor de otro
Hola de nuevo.
Siguiendo con mis pesquisas sqeleras, tengo una duda de como puedo actualizar el valor de un campo vacio con el valor del campo adyacente, os explico: El archivo txt en el que me mandan los corredores ciclistas desde la federación, esta separado por comas y su formato es dorsal, nombre, apellido1, apellido2, etc., esto hasta aquí es correcto, luego yo importo estos datos a la tabla Firebird correspondiente y funciona de perlas pero he detectado que los corredores extranjeros que tienen un solo apellido, este no figura en apellido1 sino en apellido 2, con lo cual si hago una busqueda a estos no los encuentro jamás ya que el valor es vacio, como ejemplo: 1, Josep, Fernandez, Alberti,etc. 2, Lio, ,Chin,etc. 3, Johny, ,Walker,etc. 4, Antonio, Gomez, Perez,etc. Lo que yo necesitaria seía que una vez importados los datos a la tabla, pudiera recorrer la tabla y cambiar el valor de los registros 2 y 3 (que son los que estan vacios en apellido1) y que la tabla quedara así: 1, Josep, Fernandez, Alberti,etc. 2, Lio, Chin, ,etc. 3, Johny, Walker, ,etc. 4, Antonio, Gomez, Perez,etc. He probado con update si campo apellido 2 = vacio que apellido 1=apellido2 y luego apellido2 = vacio, pero claro me los cambia todos. No se si alguien se ha encontrado con un problema similar y que solución le ha dado Muchas gracias Josep |
#2
|
||||
|
||||
Cita:
Creo que sería algo como
Supongo que con algo así funcionaría dando por echo que realizará la primera actualización antes que la segunda. También podría hacer la comprobación a la hora de volcar los datos a la tabla firebird, no se como haces el traspaso de un lado a otro pero doy por sentado que en algún momento podrías meter la comprobación. Por último podrías hacer que al buscar por apellido no hagas dos campos de búsqueda, uno para el apellido1 y otro para el apellido2, yo pondría un solo campo que sería apellido y luego buscaría en la tabla coincidencias en los dos campos.
Saludos.
__________________
Confórmate con lo que tienes pero anhela lo que te falta. |
#3
|
||||
|
||||
Gracias por la respuesta.
El update propuesto ha funcionado bien, no sabia que podia actualizar de una tacada los dos campos. El método de insercion de datos en la tabla es este:
Donde apellido1 es C3 y apellido2 es C4 En cuanto a la busqueda lo hago por un campo union de apellido1 + apellido2 + nombre Saludos Josep |
#4
|
||||
|
||||
Cita:
Saludos.
__________________
Confórmate con lo que tienes pero anhela lo que te falta. |
#5
|
||||
|
||||
Gracias de nuevo.
Realmente el metodo de busqueda no me preocupaba, pero gracias por tu interés, el que realmente era un quebradero es el que he solucionado con el update que mes has propuesto. Te he pasado el metodo de inserción pues he entendido que igual se podria predecir que el campo esta vacio en este proceso de insercion de datos y modificarlo durante. Saludos Josep Nota: Cada dia con vosotros aprendo una cosita nueva de esto del SQL, sois unos catacracks (más que cracks). Ahora solo me falta aprender como optimizar una consulta para actualizar 35.000 registros de una tabla a otra y que no me demore mucho tiempo, estoy en ello pero lo pongo a cocer, me voy a tomar cafe y a la vuelta termina, jejeje... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Me creo otro form vacío!!! | djMadox | Varios | 2 | 21-08-2012 01:23:04 |
Campo vacio en dbf | lKinGl | Varios | 17 | 11-11-2008 15:21:28 |
Incrementar campo según el valor de otro | subzero | Firebird e Interbase | 3 | 06-08-2008 21:41:52 |
DBGrid de color según campo lógico (u otro valor) | Neftali [Germán.Estévez] | Trucos | 0 | 30-06-2006 16:16:05 |
Suma/resta de un campo dependiendo del valor de otro | huanque | SQL | 2 | 11-09-2004 20:23:47 |
|