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