Subversion Repositories eFlore/Projets.eflore-projets

Rev

Rev 818 | Rev 821 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 818 Rev 819
Line 9... Line 9...
9
CREATE INDEX i_nom_ret ON bdtfx_v1_01 (`nom_sci`(8))
9
CREATE INDEX i_nom_ret ON bdtfx_v1_01 (`nom_sci`(8))
10
2) regarder les num_nom_ret orphelins de taxon en BDTFX:
10
2) regarder les num_nom_ret orphelins de taxon en BDTFX:
11
SELECT * FROM bdtfx_v1_01 WHERE num_nom_retenu = 0; # 3960
11
SELECT * FROM bdtfx_v1_01 WHERE num_nom_retenu = 0; # 3960
12
3) regarder les num_nom_ret orphelins de taxon en BDTFX:
12
3) regarder les num_nom_ret orphelins de taxon en BDTFX:
13
SELECT * FROM bdtxa_v1_00 WHERE num_nom_retenu = 0; # 0
13
SELECT * FROM bdtxa_v1_00 WHERE num_nom_retenu = 0; # 0
14
4) regarder les orphelins équivalents dans `tb_cel_test`.`cel_obs`:
14
4) regarder les orphelins équivalents dans `BASEEDIT`.`cel_obs`:
15
SELECT date_observation, SUBSTRING(nom_sel, 1, 50), nom_ret_nn, nom_ret, b.nom_sci FROM `tb_cel_test`.`cel_obs` c LEFT JOIN `tb_eflore`.`bdtfx_v1_01` b on (c.nom_ret = b.nom_sci) WHERE nom_ret_nn = 0; # 7740
15
SELECT date_observation, SUBSTRING(nom_sel, 1, 50), nom_ret_nn, nom_ret, b.nom_sci FROM `BASEEDIT`.`cel_obs` c LEFT JOIN `BASESOURCE`.`bdtfx_v1_01` b on (c.nom_ret = b.nom_sci) WHERE nom_ret_nn = 0; # 7740
Line 16... Line 16...
16
 
16
 
17
Donc ceux dont le nom_ret à été POSTé manuellement et qui matchent le nom_sci de BDTFX : on les conserve.
17
Donc ceux dont le nom_ret à été POSTé manuellement et qui matchent le nom_sci de BDTFX : on les conserve.
Line 18... Line 18...
18
Mais les autres, qui ont un nom_ret probablement erroné et un nom_ret_nn à 0, on NULLify les données censées être (correctement) autogénérées !
18
Mais les autres, qui ont un nom_ret probablement erroné et un nom_ret_nn à 0, on NULLify les données censées être (correctement) autogénérées !
19
 
19
 
20
Cela concerne:
20
Cela concerne:
21
SELECT date_observation, SUBSTRING(nom_sel, 1, 50), nom_ret_nn, nom_ret, b.nom_sci FROM `tb_cel_test`.`cel_obs` c LEFT JOIN `tb_eflore`.`bdtfx_v1_01` b on (c.nom_ret = b.nom_sci) WHERE nom_ret_nn = 0 
21
SELECT date_observation, SUBSTRING(nom_sel, 1, 50), nom_ret_nn, nom_ret, b.nom_sci FROM `BASEEDIT`.`cel_obs` c LEFT JOIN `BASESOURCE`.`bdtfx_v1_01` b on (c.nom_ret = b.nom_sci) WHERE nom_ret_nn = 0 
22
 AND c.nom_ret != '' AND id_observation NOT IN ( SELECT id_observation FROM `tb_cel_test`.`cel_obs` c, `tb_eflore`.`bdtfx_v1_01` b WHERE c.nom_ret = b.nom_sci AND c.nom_ret_nn = 0 );  # 960
22
 AND c.nom_ret != '' AND id_observation NOT IN ( SELECT id_observation FROM `BASEEDIT`.`cel_obs` c, `BASESOURCE`.`bdtfx_v1_01` b WHERE c.nom_ret = b.nom_sci AND c.nom_ret_nn = 0 );  # 960
23
*/
23
*/
24
-- D'où la requête : 
24
-- D'où la requête : 
25
UPDATE `tb_cel_test`.`cel_obs` SET nom_sel_nn = NULL, nom_ret = NULL, nom_ret_nn = NULL, nt = NULL, famille = NULL WHERE id_observation IN
25
UPDATE `BASEEDIT`.`cel_obs` SET nom_sel_nn = NULL, nom_ret = NULL, nom_ret_nn = NULL, nt = NULL, famille = NULL WHERE id_observation IN
Line 26... Line 26...
26
( SELECT id_observation FROM `tb_cel_test`.`cel_obs` c LEFT JOIN `tb_eflore`.`bdtfx_v1_01` b on (c.nom_ret = b.nom_sci) WHERE nom_ret_nn = 0 
26
( SELECT id_observation FROM `BASEEDIT`.`cel_obs` c LEFT JOIN `BASESOURCE`.`bdtfx_v1_01` b on (c.nom_ret = b.nom_sci) WHERE nom_ret_nn = 0 
27
 AND c.nom_ret != '' AND id_observation NOT IN ( SELECT id_observation FROM `tb_cel_test`.`cel_obs` c, `tb_eflore`.`bdtfx_v1_01` b WHERE c.nom_ret = b.nom_sci AND c.nom_ret_nn = 0 ) );
27
 AND c.nom_ret != '' AND id_observation NOT IN ( SELECT id_observation FROM `BASEEDIT`.`cel_obs` c, `BASESOURCE`.`bdtfx_v1_01` b WHERE c.nom_ret = b.nom_sci AND c.nom_ret_nn = 0 ) );
28
 
28
 
Line 29... Line 29...
29
-- TODO
29
-- TODO
30
-- UPDATE `tb_cel_test`.`cel_obs` SET nom_ret_nn = NULL WHERE nom_ret_nn = 0;
30
-- UPDATE `BASEEDIT`.`cel_obs` SET nom_ret_nn = NULL WHERE nom_ret_nn = 0;
31
-- UPDATE `tb_cel_test`.`cel_obs` SET nom_sel_nn = NULL WHERE nom_sel_nn = 0;
31
-- UPDATE `BASEEDIT`.`cel_obs` SET nom_sel_nn = NULL WHERE nom_sel_nn = 0;
32
 
32
 
33
/*
33
/*
34
UPDATE `tb_cel_test`.`cel_obs` SET nom_sel = NULL, nom_sel_nn = NULL, nom_ret = NULL, nom_ret_nn = NULL, nt = NULL, famille = NULL,
34
UPDATE `BASEEDIT`.`cel_obs` SET nom_sel = NULL, nom_sel_nn = NULL, nom_ret = NULL, nom_ret_nn = NULL, nt = NULL, famille = NULL,
35
	FROM `tb_cel_test`.`cel_obs` 
35
	FROM `BASEEDIT`.`cel_obs` 
36
	WHERE (nom_sel = '' OR nom_sel IS NULL) AND
36
	WHERE (nom_sel = '' OR nom_sel IS NULL) AND