Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#1 09/12/2009 16:36:43
- sophonie
- Membre
Migration du contenu d'un champ d'une table vers une autre table
Bonjour à tous et à toutes,
J'ai 2 tables, une table oai_records contenant plusieurs champs (ici 2 champs nous interresse, ie oai_identifier et ap_spatial).
Une table temp_records que j'ai crée et contenant 2 champs identifier et spatial.
Dans le champ ap_spatial de la table oai_records sont stockés les coordonnées de géoréférencement du tuple, mais ces dernières sont en Lambert 3 ==> aberration de l'affichage avec Google Map qui ne gère que du Lambert 2 (le problème des modules de cartographie du Web 2.0)
Solution : Dans la table oai_temp, j'ai importé les coordonnées Lambert 2 de chacun des tuples.
Ainsi l'unique correspondance entre les tuples est le champ oai_identifier(table oai_records) et identifier(table temp_records) Le but est de migrer le contenu du champ spatial de la table oai_temp dans le champ ap_spatial de la table oai_records et ce (identifier par identifier)
La requête suivante :
SELECT `oai_identifier` , `identifier` , `ap_spatial` , `spatial`
FROM oai_records
INNER JOIN temp_records ON oai_identifier = identifier
me renvoi bien tous les records ayant une correspondance dans les 2 tables (INNER JOIN)
Table oai_records Table temp_records
oai_identifier ap_spatial identifier spatial
IA00024637 0358840 3312540 IA00024637 -0.783333 45.283333
Faut-il passer une procédure stocké pour effectuer cette migration?
Merci d'avance.
Sophonie.
Hors ligne
#2 09/12/2009 16:56:50
- Marc Cousin
- Membre
Re : Migration du contenu d'un champ d'une table vers une autre table
UPDATE oai_records SET oai_records.ap_spatial=temp.spatial FROM temp_records WHERE oai_records.oai_identifier=temp_records.identifier
?
Marc.
Hors ligne
#3 09/12/2009 17:02:42
- sophonie
- Membre
Re : Migration du contenu d'un champ d'une table vers une autre table
Bonjour Marc Cousin,
Dans ta requête que je n'ai pas encore testé, je lis ceci :
=temp.spatial
ne serait-ce pas plutôt temp_records à la place de temp, "c'est une question"
Sophonie.
Dernière modification par sophonie (09/12/2009 17:07:28)
Hors ligne
#4 09/12/2009 17:13:36
- sophonie
- Membre
Re : Migration du contenu d'un champ d'une table vers une autre table
Je ne comprends pas cette requête qui d'ailleurs me renvoi un message d'erreur. En effet,
la requête UPDATE fais appel à la table temp_records alors qu'elle porte sur la table oai_records.
Hors ligne
#5 09/12/2009 19:00:19
- Marc Cousin
- Membre
Re : Migration du contenu d'un champ d'une table vers une autre table
C'était bien sûr temp_record.
Quel est le message d'erreur ? (je n'ai pas pu la tester avant de la poster)
Marc.
Hors ligne