SQL Server - Incorporar campos de una tabla a otra

   
Vista:

Incorporar campos de una tabla a otra

Publicado por Pedro (8 intervenciones) el 08/06/2015 21:08:42
Hola a tod@s,

es mi primer post y tengo que deciros que me gusta la informática pero no he estudiado programación pero me asignaron la Administración de una base de datos en mi trabajo por mi implicación y la falta de voluntarios para hacerlo. "Heredé" un desastre de BD que poco a poco voy corrigiendo pero ya no puedo avanzar más en un problema grave que tenemos. De antemano, mil disculpas si es una tontería mi consulta pero he agotado todas las vías, sobretodo la del Servicio Técnico que hay contratado con el programa donde ya no me dan (o no me quieren dar) más opciones y se "rinden"....que es lo más grave

En mi organización tenemos un programa privativo que trabaja con SQL Server 2008. Trabajamos con información padronal de ciudadanos y desde el principio hubo errores/deficiencias con el volcado de información de ciudadanos al migrar del programa anterior (de distinta empresa) al que trabajamos actualmente, concretamente con las calles y domicilios, y el historico que se ha ido generando (el registro de cada uno de los domicilios en una misma ficha de ciudadano).

La solución, tras varias consultas con el servicio técnico, podría pasar por eliminar de la tabla "Fiscal" todos los campos relacionados con la dirección del domicilio de todos los ciudadanos (sobre 45000 registros) y después, de la tabla "Fiscal.otrosdomicil", importar de los registros que contiene, el domicilio que está marcado con un check como "Predeterminado".

Os paso dos capturas: una de la pestaña "Datos ciudadano" (tabla "Fiscal"), y otra de los "Otros domicilios" (tabla "fiscal.otrosdomicil") para que veáis gráficamente como está distribuido:

FISCAL
Tabla FISCAL: De esta tabla interesa eliminar: La población y provincia donde vive y el código postal, y los 10 campos que siguen a la derecha de "Domicilio": Siglas de la calle, nombre de la calle, número de portal, piso, puerta, escalera, etc.


OTROS_DOMICILIOS
Tabla FISCAL.OTROSDOMICIL: De esta tabla importaríamos todos los datos para rellenar los campos borrados en la anterior, donde el check "Predeterminado" esté activado (el campo se llama "Activo" y entiendo que la condición sería "IS NOT NULL").


Teóricamente, cuando en el programa metes un domicilio nuevo en la tabla "Otros domicilios" , al marcar ese como "Predeterminado", modifica de forma automática e instantánea el domicilio mostrado en la tabla "Fiscal". Pero según me han dicho hoy en el servicio técnico, dicho cambio lo hace automáticamente el programa por una programación que tiene dicho check al activarlo y guardar dicho registro.

Habría que tener en consideración que en la tabla "Fiscal.otrosdomicil" la población y la provincia están en un mismo campo, separado por un espacio y con la provincia entre paréntesis (Ejemplo: MOSTOLES (MADRID) ), a diferencia de la tabla fiscal, donde Provincia y Población son dos campos diferentes, por lo que quizá habría que tenerlo en cuenta para extraerlos y colocarlos correctamente de cara a la secuencia.

Espero haberme explicado bien. Estaré pendiente por si falta información para que me podáis ayudar en la consulta y actualización de datos. Y en caso de que no se pueda, mil gracias de antemano por haberme atendido.

Un cordial saludo.

Pedro
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias

Incorporar campos de una tabla a otra

Publicado por Isaias (3180 intervenciones) el 08/06/2015 21:22:36
¿Cómo se relacionan ambas tablas?

Entiendo que hay que tomar la información de OTROS DOMICILIOS y pasarlo a la tabla FISCAL

¿Es correcto?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Incorporar campos de una tabla a otra

Publicado por Pedro (8 intervenciones) el 08/06/2015 21:37:40
Exacto: de OTROS DOMICILIOS a FISCAL.

Respecto a cómo se relacionan, entiendo que será por el código fiscal del ciudadano pero no lo sé seguro. ¿Como lo puedo saber entrando en SQL Server? Vi lo que creo que es la clave principal pero no coinciden.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias

Incorporar campos de una tabla a otra

Publicado por Isaias (3180 intervenciones) el 08/06/2015 22:52:44
EXACTO !!, deber haber una o mas columnas que coincidan entre las dos tablas, de lo contrario, pues no hay solucion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Incorporar campos de una tabla a otra

Publicado por Pedro (8 intervenciones) el 09/06/2015 21:11:47
He intentado durante el día de hoy hacerte llegar las columnas que contienen e intentar buscar las relaciones, pero me ha sido imposible por el trabajo. A ver si antes de acabar a las 22:00, o mañana, lo puedo conseguir.
No obstante, quería contestar para avisar que estoy en ello, y mil gracias de antemano por interesaros.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Wilfredo Patricio Castillo

Incorporar campos de una tabla a otra

El asunto central creo yo, que es un mal diseño de la base de datos y si no hay relaciones establecidas en la base de datos, todo lo maneja desde la aplicación que vendría a ser otro problema.

Sería bueno que mostraras unas imágenes de la base de datos, para tener una mejor claridad del asunto.

Creo que lo conveniente sería un rediseño total de la base de datos y la aplicación, ya que de la manera como está actualmente que pasa si un ciudadano tiene mas de un domicilio?, mas de 3 teléfonos?, luego si decide vender una de sus casas?.

Habría que hacer un análisis mas detallado del asunto, ya que la idea sería dar soluciones que sean duraderas y facilmente adaptables a las situaciones y no calmantes temporales, que lo único que hacen es irte metiendo en un callejón sin salida mas complicado de mantener conforme va pasando el tiempo.

Saludos cordiales
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Incorporar campos de una tabla a otra

Publicado por Pedro (8 intervenciones) el 09/06/2015 21:24:24
Hola!
Como tú bien dices, y sin ser informático pero tras varias reflexiones personales, y comentarios con otros compañeros de trabajo que más o menos entienden un poco del tema, pensamos lo mismo: La base de datos está mal diseñada.
No quería detallar demasiado al respecto, pero bueno, quizá sirve para que pudiérais entender mejor el funcionamiento: se trata de un programa de gestión integral de una plantilla de policía para una población de 30000 habitantes, turística (y con ello, sobretodo en verano, casi duplicando población, y una cantidad de novedades por intervenciones, y de creación de información bastante grande.

A mi me asignaron la "Administración" por interés de que fuera bien cuando se implantó el nuevo programa, y porque tengo la Diplomatura de Biblioteconomía y Documentación y sé gestionar bastante bien la información y dí algo de bases de datos (pero no soy informático, aunque me guste y esté aprendiendo cada vez más mientras gestiono el "marrón" que me dieron)..
No pude supervisar la migración y los pros y contras del programa antes de su compra, ni todas las decisiones que mi Jefatura llevó a cabo con toda la buena voluntad del mundo pero guiado erróneamente por los trabajadores de la empresa que nos ha vendido el programa y que supuestamente nos da también soporte técnico por una elevada cantidad anual, y cuyo servicio de resolución de problemas, y calidad de programación del programa (está en visual basic y tiene muchísimos bugs que no corrigen), deja muchísimo que desear. Y lo mejor es que en el mercado, las otras alternativas, quizá son mejores programas en diseño y manejo de la información, pero muy limitados en opciones y módulos para nuestro volumen de faena en nuestra plantilla.

El problema con los ciudadanos está desde el primer día de la migración de datos, y conforme se mete más información, es más grave. No obstante, la idea que os plasmé en el primer post creo que puede solucionarlo (aunque no lo dejaría perfecto, sí casi lo rozaría). A ver si tengo un rato con más calma y os muestro las columnas de ambas tablas a ver si podemos encontrar la/s secuencia/s SQL idóneas.

Un saludo y gracias a tí también por tu aporte! Me encantaría aprender a realizar ese análisis que propones. Así que si me pudieras dar pautas de trabajo por privado para no alterar más el post, será muy bien recibido.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Wilfredo Patricio Castillo

Incorporar campos de una tabla a otra

Pues allí tienes mi correo, así que cuando gustes, me escribes y coordinamos una reunión vía skype, para tratar el asunto en privado, como bien dices, para no saturar el post.

Saludos cordiales
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Incorporar campos de una tabla a otra

Publicado por Pedro (8 intervenciones) el 11/06/2015 18:06:56
Muchas gracias por ofrecerte. Te tengo en cuenta!

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Incorporar campos de una tabla a otra

Publicado por Pedro (8 intervenciones) el 11/06/2015 18:10:54
Hola a todos,

finalmente, y tras un alarde de ingenio y esfuerzo por parte del soporte técnico que tenemos contratado, se ha conseguido la secuencia SQL que nos resolvía lo que yo tenía en mente. A modo de curiosidad, y por cerrar el post, os la pongo a continuación. Se trataba de igualar los campos comunes entre ambas tablas y por el final, aunque me pierdo un poco con la interpretación, había que añadir que la sustitución la hiciera de la dirección marcada como "Predeterminada" en la tabla "Otros domicilios".

Gracias a todos los que os habéis interesado.

Un saludo!

update fiscalpolicia set FiscalPolicia.CodigoCalle = FiscalOtrosDomicil.CodigoCalle, FiscalPolicia.SiglasCalle = FiscalOtrosDomicil.Siglas, FiscalPolicia.NombreVia = FiscalOtrosDomicil.NombreVia, FiscalPolicia.Numero = FiscalOtrosDomicil.Numero, FiscalPolicia.SegundoNumero = FiscalOtrosDomicil.SegundoNumero, FiscalPolicia.NumeroKM = FiscalOtrosDomicil.NumeroKM, FiscalPolicia.NumeroBPV = FiscalOtrosDomicil.NumeroBPV, FiscalPolicia.Portal = FiscalOtrosDomicil.Portal, FiscalPolicia.Escalera = FiscalOtrosDomicil.Escalera, FiscalPolicia.Piso = FiscalOtrosDomicil.Piso, FiscalPolicia.Puerta = FiscalOtrosDomicil.Puerta, FiscalPolicia.CodigoPoblacion = FiscalOtrosDomicil.CodigoPoblacion, FiscalPolicia.CodigoPostal = FiscalOtrosDomicil.CodigoPostal from FiscalPolicia left join FiscalOtrosDomicil on (FiscalPolicia.codigofiscal=FiscalOtrosDomicil.codigofiscal) where FiscalOtrosDomicil.activo = '1' and FiscalPolicia.codigopoblacion = '0120244'
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar