Subversion Repositories eFlore/Projets.eflore-projets

Compare Revisions

Ignore whitespace Rev 881 → Rev 882

/trunk/scripts/modules/cel/referonosaure.sql
2,7 → 2,12
Objectif: prendre les observations dont nom_sel_nn est défini
(et donc dans laquelles les informations générées sont correctes)
et mettre à jour ces dernières à partir de la dernière version du référentiel
(bdtfx et bdtxa).
(bdtfx, bdtxa et isfan).
 
Pour éviter un maximum de faux-positifs, nous vérifions aussi que la famille
est conservée (même dans certains cas celle-ci a légitimement changé) et que
la première partie du nom_sel correspond toujours à la première partie du nouveau nom_sci
qui serait attribué.
*/
 
--- la requête ---
11,7 → 16,7
SELECT id_observation, nom_ret, nom_ret_nn, nt, c.famille
FROM `BASEEDIT`.`cel_obs` c, `BASESOURCE`.`TABLEBDTFX` b
WHERE (
nom_sel_nn IS NOT NULL AND nom_sel_nn != 0
nom_sel_nn IS NOT NULL
AND nom_referentiel like 'bdtfx%'
AND nom_sel_nn = num_nom
)
25,8 → 30,8
c.nt = b.num_taxonomique,
c.famille = b.famille
WHERE (
nom_sel_nn IS NOT NULL AND nom_sel_nn != 0
AND nom_referentiel like 'bdtfx%'
nom_sel_nn IS NOT NULL
AND nom_referentiel = 'bdtfx'
AND nom_sel_nn = num_nom
AND LOWER(c.famille) = LOWER(b.famille)
AND SUBSTRING_INDEX(c.nom_sel, ' ', 1) = SUBSTRING_INDEX(b.nom_sci, ' ', 1)
41,8 → 46,8
c.nt = a.num_tax,
c.famille = a.famille
WHERE (
nom_sel_nn IS NOT NULL AND nom_sel_nn != 0
AND nom_referentiel like 'bdtxa%'
nom_sel_nn IS NOT NULL
AND nom_referentiel = 'bdtxa'
AND nom_sel_nn = num_nom
AND LOWER(c.famille) = LOWER(a.famille)
AND SUBSTRING_INDEX(c.nom_sel, ' ', 1) = SUBSTRING_INDEX(a.nom_sci, ' ', 1)
50,14 → 55,14
-- 49 sans les restrictions sur famille et SUBSTRING_INDEX()
-- 47 avec les restrictions sur famille et SUBSTRING_INDEX()
 
UPDATE `BASEEDIT`.`cel_obs` c, `BASESOURCE`.`isfan_v2013` a SET
c.nom_ret = CONCAT(a.nom_sci, ' ', a.auteur),
c.nom_ret_nn = a.num_nom,
c.nt = a.num_taxonomique,
c.famille = a.famille
UPDATE `BASEEDIT`.`cel_obs` c, `BASESOURCE`.`TABLEISFAN` i SET
c.nom_ret = CONCAT(i.nom_sci, ' ', i.auteur),
c.nom_ret_nn = i.num_nom,
c.nt = i.num_taxonomique,
c.famille = i.famille
WHERE (
nom_sel_nn IS NOT NULL AND nom_sel_nn != 0
AND nom_referentiel like 'isfan%'
nom_sel_nn IS NOT NULL
AND nom_referentiel = 'isfan'
AND nom_sel_nn = num_nom
);