Subversion Repositories eFlore/Projets.eflore-projets

Rev

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

Rev 737 Rev 738
Line 6... Line 6...
6
-- SELECT courriel_utilisateur, id_observation, date_observation FROM cel_obs WHERE date_observation > NOW();
6
-- SELECT courriel_utilisateur, id_observation, date_observation FROM cel_obs WHERE date_observation > NOW();
Line 7... Line 7...
7
 
7
 
8
 
-
 
9
 
8
 
10
DROP TABLE IF EXISTS `cel_references`;
9
 
Line 11... Line 10...
11
 
10
DROP TABLE IF EXISTS `cel_references`;
12
CREATE TABLE `cel_references` (
11
CREATE TABLE IF NOT EXISTS `cel_references` (
13
       `referentiel` CHAR(5) NOT NULL, -- ENUM ("bdtfx", "bdtfx", "bdtxa", ...),
12
       `referentiel` CHAR(5) NOT NULL, -- ENUM ("bdtfx", "bdtfx", "bdtxa", ...),
Line -... Line 13...
-
 
13
 
-
 
14
       -- bdtfx
-
 
15
       `num_nom` INT(9) NOT NULL DEFAULT '0',
-
 
16
       `num_nom_retenu` VARCHAR(9) DEFAULT NULL,
14
 
17
 
15
       -- bdtfx
18
       -- bdtfx + nvjfl_v2007
Line -... Line 19...
-
 
19
       `num_taxon` int(9) NOT NULL,
16
       `num_nom` INT(9) NOT NULL DEFAULT '0',
20
 
17
       `num_nom_retenu` VARCHAR(9) DEFAULT NULL,
21
       -- bdtfx
18
 
22
       `nom_sci` VARCHAR(500) NOT NULL,
Line 19... Line 23...
19
       `nom_sci` VARCHAR(500) NOT NULL,
23
       `auteur` VARCHAR(100) DEFAULT NULL,
-
 
24
 
20
       `auteur` VARCHAR(100) DEFAULT NULL,
25
 
21
 
26
       -- cel_obs
22
       -- cel_obs
27
       --       `nom_ret_nn` DECIMAL(9,0) DEFAULT NULL COMMENT 'Numéro du nom retenu.',
Line -... Line 28...
-
 
28
       --       `nom_ret` VARCHAR(255) DEFAULT NULL,
-
 
29
 
-
 
30
       -- nvjfl_v2007 (`nom_vernaculaire` text NOT NULL)
-
 
31
       -- mais NULL à cause de nva
-
 
32
       `nom_commun` VARCHAR(60) NULL,
-
 
33
PRIMARY KEY (`referentiel`, `num_nom`)
-
 
34
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
 
35
 
Line 23... Line -...
23
       --       `nom_ret_nn` DECIMAL(9,0) DEFAULT NULL COMMENT 'Numéro du nom retenu.',
-
 
24
       --       `nom_ret` VARCHAR(255) DEFAULT NULL,
-
 
25
 
-
 
26
       -- nvjfl_v2007 (`nom_vernaculaire` text NOT NULL)
-
 
27
       `nom_commun` VARCHAR(60) NOT NULL,
-
 
Line -... Line 36...
-
 
36
 
-
 
37
/*
Line -... Line 38...
-
 
38
way 1: theory
-
 
39
INSERT INTO `cel_references` (`referentiel`, `num_nom`, `num_nom_retenu`, `nom_sci`, `auteur`, `nom_commun`) \
-
 
40
       SELECT "bdtfx", b.num_nom, b.num_nom_retenu, b.nom_sci, b.auteur, n.nom_vernaculaire, MAX(n.num_statut)	FROM bdtfx_v1_01 b LEFT JOIN nvjfl_v2007 n	ON (b.num_taxonomique = n.num_taxon AND n.code_langue = 'fra' )	GROUP BY b.num_nom \
-
 
41
       UNION \
Line -... Line 42...
-
 
42
       SELECT "bdtxa", b.num_nom, b.num_nom_retenu, b.nom_sci, b.auteur, n.nom_vernaculaire, NULL				FROM bdtxa_v1_00 b LEFT JOIN nva_v2013_06 n	ON (b.num_tax = n.num_taxon AND n.code_langue = 'fra' )			GROUP BY b.num_nom;
-
 
43
SELECT "isfan", b.num_nom, b.num_nom_retenu, b.nom_sci, b.auteur, NULL FROM isfan_v2013 b;
-
 
44
*/
Line 28... Line -...
28
PRIMARY KEY (`referentiel`, `num_nom`)
-
 
29
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
45
 
30
 
46
 
31
 
-
 
32
 
47
/*
Line 33... Line 48...
33
-- INSERT INTO `cel_references` (`referentiel`, `num_nom`, `num_nom_retenu`, `nom_sci`, `auteur`, `nom_commun`) \
48
Détermination des nom vernaculaires meilleurs et uniques:
-
 
49
 
-
 
50
way 1:
-
 
51
-- SELECT n.num_taxon, n.nom_vernaculaire, n.num_statut, n2.num_statut FROM nvjfl_v2007 n LEFT JOIN nvjfl_v2007 n2 ON (n.num_taxon = n2.num_taxon) WHERE n.num_taxon < 32 AND n.code_langue = 'fra' GROUP BY n.num_taxon, n.num_statut HAVING n.num_statut = MAX(n2.num_statut) LIMIT 100;
34
--        SELECT "bdtfx", b.num_nom, b.num_nom_retenu, b.nom_sci, b.auteur, n.nom_vernaculaire, MAX(n.num_statut)	FROM bdtfx_v1_01 b LEFT JOIN nvjfl_v2007 n	ON (b.num_taxonomique = n.num_taxon AND n.code_langue = 'fra' )	GROUP BY b.num_nom \
52
-- 12311
-
 
53
-- # distinct=
-
 
54
 
-
 
55
way 2:
-
 
56
-- SELECT n.num_taxon, n.nom_vernaculaire FROM nvjfl_v2007 n INNER JOIN nvjfl_v2007 n2 ON (n.num_taxon = n2.num_taxon AND n.code_langue = n2.code_langue AND n.num_statut > n2.num_statut) WHERE n.code_langue = 'fra' GROUP BY n.num_taxon;
-
 
57
-- 2680
-
 
58
 
35
--        UNION \
59
way 2":
36
--        SELECT "bdtxa", b.num_nom, b.num_nom_retenu, b.nom_sci, b.auteur, n.nom_vernaculaire, NULL				FROM bdtxa_v1_00 b LEFT JOIN nva_v2013_06 n	ON (b.num_tax = n.num_taxon AND n.code_langue = 'fra' )			GROUP BY b.num_nom;
60
-- SELECT n.num_taxon, n.nom_vernaculaire FROM nvjfl_v2007 n LEFT JOIN nvjfl_v2007 n2 ON (n.num_taxon = n2.num_taxon AND n.code_langue = n2.code_langue AND n.num_statut > n2.num_statut) WHERE n.code_langue = 'fra' AND n2.num_statut IS NOT NULL GROUP BY num_taxon;
Line 37... Line 61...
37
-- SELECT "isfan", b.num_nom, b.num_nom_retenu, b.nom_sci, b.auteur, NULL FROM isfan_v2013 b;
61
-- 2680, Mais problème ensuite: SELECT n.* from cel_references NATURAL JOIN nvjfl_v2007 n WHERE `nom_commun` = '' AND n.code_langue = 'fra';
38
 
62
 
39
 
63
 
40
 
64
Note: 16146 nom communs français distincts, 12312 num_taxon fr, aucun num_statut NULL en français
-
 
65
*/
41
 
66