insertar tablas vinculadas
Publicado por M.Angel (2 intervenciones) el 28/01/2006 23:23:08
tengo que insertar datos de varias tablas a otras. Lo hago con una instrucción SQL usando INSERT INTO y va estupendamente. Pero el problema surge con dos tablas que están vinculadas. Una tabla tiene preguntas y la otra respuestas, con lo que a una pregunta pueden corresponderle varias respuestas.
Lo he intentado de diferentes maneras y no lo consigo. He creado una consulta donde combino ambas tablas y aparecen cada respuesta con su pregunta. Pero en dicha tabla las preguntas se repiten, porque varias respuestas se refieren a la misma pregunta. Ambas tablas están enlazadas por el campo id (autonumérico en el caso de las preguntas y con la propiedad indexado "sí (sin duplicados)". Y ahí está la madre del cordero.
Si hago un INSERT INTO con la consulta entera, como varias respuestas tienen la misma pregunta lo interpreta como que se está repitiendo la misma pregunta, lo cual da error por que la pregunta tiene "(sin duplicados), así que sólo importa la primera respuesta de cada pregunta pero no las demás.
He intentado hacerlo manualmente, abriendo una tabla, leyendo un registro y copiándolo en la otra tabla. En tal caso inserto todas las preguntas en la nueva tabla y todo va bien, pero cuando intento insertar las respuestas no hay manera. Al añadir las preguntas a una tabla ya existente, su id cambia (se incrementa), con lo cual, al insertar las respuestas sólo me permite hacerlo con aquellas respuestas que tengan un id que ya existe en la nueva tabla, pues son campos vinculados y no pueden existir sin un vínculo con la tabla de preguntas. Ni que decir tiene que las pocas respuestas que terminan insertándose quedan fuera de lugar, pues su id ya no se corresponde con el id original de su pregunta correspondiente, con lo cual aparecen asociadas a preguntas con las que nada tienen que ver. He intentado remediar esto con mil y un trucos, pero ni modo.
Puede que suene muy lioso así explicado, pero no pierdo la esperanza de que alguien pueda ayudarme porque si no consigo esto, después de meses de trabajo el programa se me va al carajo.
Gracias por al menos haber leído toda esta parrafada
Lo he intentado de diferentes maneras y no lo consigo. He creado una consulta donde combino ambas tablas y aparecen cada respuesta con su pregunta. Pero en dicha tabla las preguntas se repiten, porque varias respuestas se refieren a la misma pregunta. Ambas tablas están enlazadas por el campo id (autonumérico en el caso de las preguntas y con la propiedad indexado "sí (sin duplicados)". Y ahí está la madre del cordero.
Si hago un INSERT INTO con la consulta entera, como varias respuestas tienen la misma pregunta lo interpreta como que se está repitiendo la misma pregunta, lo cual da error por que la pregunta tiene "(sin duplicados), así que sólo importa la primera respuesta de cada pregunta pero no las demás.
He intentado hacerlo manualmente, abriendo una tabla, leyendo un registro y copiándolo en la otra tabla. En tal caso inserto todas las preguntas en la nueva tabla y todo va bien, pero cuando intento insertar las respuestas no hay manera. Al añadir las preguntas a una tabla ya existente, su id cambia (se incrementa), con lo cual, al insertar las respuestas sólo me permite hacerlo con aquellas respuestas que tengan un id que ya existe en la nueva tabla, pues son campos vinculados y no pueden existir sin un vínculo con la tabla de preguntas. Ni que decir tiene que las pocas respuestas que terminan insertándose quedan fuera de lugar, pues su id ya no se corresponde con el id original de su pregunta correspondiente, con lo cual aparecen asociadas a preguntas con las que nada tienen que ver. He intentado remediar esto con mil y un trucos, pero ni modo.
Puede que suene muy lioso así explicado, pero no pierdo la esperanza de que alguien pueda ayudarme porque si no consigo esto, después de meses de trabajo el programa se me va al carajo.
Gracias por al menos haber leído toda esta parrafada
Valora esta pregunta


0