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 |
); |
|