Subversion Repositories eFlore/Projets.eflore-projets

Rev

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

Rev 893 Rev 894
Line 54... Line 54...
54
        nom_sel_nn IS NOT NULL AND nom_ret_nn IS NOT NULL AND nom_ret_nn != 0
54
        nom_sel_nn IS NOT NULL AND nom_ret_nn IS NOT NULL AND nom_ret_nn != 0
55
        AND nom_referentiel = 'bdtfx'
55
        AND nom_referentiel = 'bdtfx'
56
        AND nom_ret_nn = num_nom
56
        AND nom_ret_nn = num_nom
57
        /* AND (LOWER(c.famille) = LOWER(b.famille) OR c.famille IS NULL) */
57
        /* AND (LOWER(c.famille) = LOWER(b.famille) OR c.famille IS NULL) */
58
       );
58
       );
59
-- 339 + 41373
59
-- 25584
60
SELECT ROW_COUNT() AS "BDTFX upd après correction sur nom_ret_nn + nom_sel_nn";
60
SELECT ROW_COUNT() AS "BDTFX upd après correction sur nom_ret_nn + nom_sel_nn";
Line 61... Line 61...
61
 
61
 
62
/* test:
62
/* test:
63
   SELECT c.nom_ret_nn, c.nom_ret, bLAST.num_nom, bLAST.nom_sci, bLAST.auteur, c.famille, bLAST.famille, c.nt, bLAST.num_taxonomique
63
   SELECT c.nom_ret_nn, c.nom_ret, bLAST.num_nom, bLAST.nom_sci, bLAST.auteur, c.famille, bLAST.famille, c.nt, bLAST.num_taxonomique
Line 72... Line 72...
72
*/
72
*/
Line 73... Line 73...
73
 
73
 
74
-- l'update BDTFX avec nom_sel_nn seul
74
-- l'update BDTFX avec nom_sel_nn seul
75
UPDATE `BASEEDIT`.`cel_obs` c, `BASESOURCE`.`TABLEBDTFX` b, `BASESOURCE`.`TABLEBDTFX` b_nom_ret SET
75
UPDATE `BASEEDIT`.`cel_obs` c, `BASESOURCE`.`TABLEBDTFX` b, `BASESOURCE`.`TABLEBDTFX` b_nom_ret SET
76
       c.nom_ret = CONCAT(b_nom_ret.nom_sci, ' ', b_nom_ret.auteur),
76
       c.nom_ret = CONCAT(b_nom_ret.nom_sci, ' ', b_nom_ret.auteur),
77
       c.nom_ret_nn = b.num_nom,
77
       c.nom_ret_nn = b_nom_ret.num_nom,
78
       c.nt = b.num_taxonomique,
78
       c.nt = b.num_taxonomique,
79
       c.famille = b.famille
79
       c.famille = b.famille
80
   WHERE (
80
   WHERE (
81
        b_nom_ret.num_nom = b.num_nom_retenu
81
        b_nom_ret.num_nom = b.num_nom_retenu
82
        AND nom_sel_nn IS NOT NULL
82
        AND nom_sel_nn IS NOT NULL
83
        AND nom_referentiel = 'bdtfx'
83
        AND nom_referentiel = 'bdtfx'
84
        AND nom_sel_nn = b.num_nom
84
        AND nom_sel_nn = b.num_nom
85
        AND (LOWER(c.famille) = LOWER(b.famille) OR c.famille IS NULL)
85
        AND (LOWER(c.famille) = LOWER(b.famille) OR c.famille IS NULL)
86
        AND SUBSTRING_INDEX(c.nom_sel, ' ', 1) = SUBSTRING_INDEX(b.nom_sci, ' ', 1) 
86
        AND SUBSTRING_INDEX(c.nom_sel, ' ', 1) = SUBSTRING_INDEX(b.nom_sci, ' ', 1) 
87
       );
87
       );
88
-- 251 + 45649 avec indirection num_nom_retenu
88
-- 47559 avec indirection num_nom_retenu
Line 89... Line 89...
89
SELECT ROW_COUNT() AS "BDTFX upd après correction sur nom_sel_nn";
89
SELECT ROW_COUNT() AS "BDTFX upd après correction sur nom_sel_nn";
90
 
90
 
Line 98... Line 98...
98
        nom_sel_nn IS NOT NULL AND nom_ret_nn IS NOT NULL AND nom_ret_nn != 0
98
        nom_sel_nn IS NOT NULL AND nom_ret_nn IS NOT NULL AND nom_ret_nn != 0
99
        AND nom_referentiel = 'bdtxa'
99
        AND nom_referentiel = 'bdtxa'
100
        AND nom_ret_nn = num_nom
100
        AND nom_ret_nn = num_nom
101
        AND (LOWER(c.famille) = LOWER(a.famille) OR c.famille IS NULL)
101
        AND (LOWER(c.famille) = LOWER(a.famille) OR c.famille IS NULL)
102
       );
102
       );
103
-- 1 + 49
103
-- 2
104
SELECT ROW_COUNT() AS "BDTXA upd après correction sur nom_ret_nn + nom_sel_nn";
104
SELECT ROW_COUNT() AS "BDTXA upd après correction sur nom_ret_nn + nom_sel_nn";
Line 105... Line 105...
105
 
105
 
106
-- l'update BDTXA avec nom_sel_nn seul
106
-- l'update BDTXA avec nom_sel_nn seul
107
UPDATE `BASEEDIT`.`cel_obs` c, `BASESOURCE`.`TABLEBDTXA` a, `BASESOURCE`.`TABLEBDTXA` a_nom_ret SET
107
UPDATE `BASEEDIT`.`cel_obs` c, `BASESOURCE`.`TABLEBDTXA` a, `BASESOURCE`.`TABLEBDTXA` a_nom_ret SET
108
       c.nom_ret = CONCAT(a_nom_ret.nom_sci, ' ', a_nom_ret.auteur),
108
       c.nom_ret = CONCAT(a_nom_ret.nom_sci, ' ', a_nom_ret.auteur),
109
       c.nom_ret_nn = a.num_nom,
109
       c.nom_ret_nn = a_nom_ret.num_nom,
110
       c.nt = a.num_tax,
110
       c.nt = a.num_tax,
111
       c.famille = a.famille
111
       c.famille = a.famille
112
   WHERE (
112
   WHERE (
113
        a_nom_ret.num_nom = a.num_nom_retenu
113
        a_nom_ret.num_nom = a.num_nom_retenu
114
        AND nom_sel_nn IS NOT NULL
114
        AND nom_sel_nn IS NOT NULL
115
        AND nom_referentiel = 'bdtxa'
115
        AND nom_referentiel = 'bdtxa'
116
        AND nom_sel_nn = a.num_nom
116
        AND nom_sel_nn = a.num_nom
117
        AND (LOWER(c.famille) = LOWER(a.famille) OR c.famille IS NULL)
117
        AND (LOWER(c.famille) = LOWER(a.famille) OR c.famille IS NULL)
118
        AND SUBSTRING_INDEX(c.nom_sel, ' ', 1) = SUBSTRING_INDEX(a.nom_sci, ' ', 1) 
118
        AND SUBSTRING_INDEX(c.nom_sel, ' ', 1) = SUBSTRING_INDEX(a.nom_sci, ' ', 1) 
119
       );
119
       );
120
-- 47 + 49 avec les restrictions sur famille et SUBSTRING_INDEX()
120
-- 49 avec les restrictions sur famille et SUBSTRING_INDEX()
121
-- 48 sans les restrictions sur famille et SUBSTRING_INDEX()
121
-- 48 sans les restrictions sur famille et SUBSTRING_INDEX()
Line 122... Line 122...
122
SELECT ROW_COUNT() AS "BDTXA upd après correction sur nom_sel_nn";
122
SELECT ROW_COUNT() AS "BDTXA upd après correction sur nom_sel_nn";
123
 
123
 
Line 130... Line 130...
130
        nom_sel_nn IS NOT NULL AND nom_ret_nn IS NOT NULL AND nom_ret_nn != 0
130
        nom_sel_nn IS NOT NULL AND nom_ret_nn IS NOT NULL AND nom_ret_nn != 0
131
        AND nom_referentiel = 'isfan'
131
        AND nom_referentiel = 'isfan'
132
        AND nom_ret_nn = num_nom
132
        AND nom_ret_nn = num_nom
133
        AND (LOWER(c.famille) = LOWER(i.famille) OR c.famille IS NULL)
133
        AND (LOWER(c.famille) = LOWER(i.famille) OR c.famille IS NULL)
134
       );
134
       );
135
-- 2
135
-- 2 ou 0
136
SELECT ROW_COUNT() AS "ISFAN upd après correction sur nom_ret_nn + nom_sel_nn";
136
SELECT ROW_COUNT() AS "ISFAN upd après correction sur nom_ret_nn + nom_sel_nn";
Line 137... Line 137...
137
 
137
 
138
-- l'update ISFAN avec nom_sel_nn seul
138
-- l'update ISFAN avec nom_sel_nn seul
139
UPDATE `BASEEDIT`.`cel_obs` c, `BASESOURCE`.`TABLEISFAN` i, `BASESOURCE`.`TABLEISFAN` i_nom_ret SET
139
UPDATE `BASEEDIT`.`cel_obs` c, `BASESOURCE`.`TABLEISFAN` i, `BASESOURCE`.`TABLEISFAN` i_nom_ret SET
140
       c.nom_ret = CONCAT(i_nom_ret.nom_sci, ' ', i_nom_ret.auteur),
140
       c.nom_ret = CONCAT(i_nom_ret.nom_sci, ' ', i_nom_ret.auteur),
141
       c.nom_ret_nn = i.num_nom,
141
       c.nom_ret_nn = IF(i_nom_ret.num_nom=0,NULL,i_nom_ret.num_nom),
142
       c.nt = i.num_taxonomique,
142
       c.nt = i.num_taxonomique,
143
       c.famille = i.famille
143
       c.famille = i.famille
144
   WHERE (
144
   WHERE (
145
        i_nom_ret.num_nom = i.num_nom_retenu
145
        i_nom_ret.num_nom = i.num_nom_retenu