Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 1445 → Rev 1446

/trunk/scripts/modules/maj/201309-index-views.sql
1,11 → 1,11
-- r1368/r1418: ajout de nom_referentiel à del_observations (attention, appelée "del_images" dans mysql-workbench)
DROP VIEW IF EXISTS `BASEDEL`.`del_image` ;
DROP TABLE IF EXISTS `BASEDEL`.`del_image`;
CREATE OR REPLACE VIEW `BASEDEL`.`del_image` AS
SELECT i.id_image, if((char_length(i.ce_utilisateur) <> 32),cast(i.ce_utilisateur as unsigned),0) AS ce_utilisateur, i.prenom_utilisateur, i.nom_utilisateur, i.courriel_utilisateur, i.hauteur, i.largeur, i.date_prise_de_vue, i.mots_cles_texte,
CREATE OR REPLACE SQL SECURITY INVOKER VIEW `BASEDEL`.`del_image` AS
SELECT i.id_image, if((char_length(i.ce_utilisateur) <> 32),cast(i.ce_utilisateur as unsigned),0) AS ce_utilisateur, i.prenom_utilisateur, i.nom_utilisateur, i.courriel_utilisateur, i.hauteur, i.largeur, i.date_prise_de_vue, i.mots_cles_texte,
i.commentaire, i.nom_original, i.date_modification, i.date_creation, i.publiable_eflore, o.nom_referentiel
FROM `BASECEL`.`cel_images` AS i
INNER JOIN `BASECEL`.`cel_obs_images` AS oi ON (i.id_image = oi.id_image)
FROM `BASECEL`.`cel_images` AS i
INNER JOIN `BASECEL`.`cel_obs_images` AS oi ON (i.id_image = oi.id_image)
INNER JOIN `BASECEL`.`cel_obs` AS o ON (oi.id_observation = o.id_observation)
WHERE o.transmission = '1' ;
 
13,10 → 13,10
-- r1368/r1418: ajout de nom_referentiel à del_observations
DROP VIEW IF EXISTS `BASEDEL`.`del_observations` ;
DROP TABLE IF EXISTS `BASEDEL`.`del_observations`;
CREATE OR REPLACE VIEW `BASEDEL`.`del_observation` AS
SELECT id_observation, if((char_length(o.ce_utilisateur) <> 32),cast(o.ce_utilisateur as unsigned),0) AS ce_utilisateur, prenom_utilisateur, nom_utilisateur, courriel_utilisateur, nom_sel, nom_sel_nn, nom_ret, nom_ret_nn, nt, famille,
CREATE OR REPLACE SQL SECURITY INVOKER VIEW `BASEDEL`.`del_observation` AS
SELECT id_observation, if((char_length(o.ce_utilisateur) <> 32),cast(o.ce_utilisateur as unsigned),0) AS ce_utilisateur, prenom_utilisateur, nom_utilisateur, courriel_utilisateur, nom_sel, nom_sel_nn, nom_ret, nom_ret_nn, nt, famille,
ce_zone_geo, zone_geo, lieudit, station, milieu, nom_referentiel,
date_observation, mots_cles_texte, commentaire,
date_observation, mots_cles_texte, commentaire,
date_creation, date_modification, date_transmission
FROM `BASECEL`.`cel_obs` AS o
WHERE transmission = '1' ;
24,7 → 24,7
-- r1376: ajout de la vue v_del_image (version modifiée de del_image
DROP VIEW IF EXISTS `BASEDEL`.`v_del_image` ;
DROP TABLE IF EXISTS `BASEDEL`.`v_del_image`;
CREATE OR REPLACE VIEW `BASEDEL`.`v_del_image` AS
CREATE OR REPLACE SQL SECURITY INVOKER VIEW `BASEDEL`.`v_del_image` AS
SELECT o.*, i.id_image, i.ordre AS i_ordre,
i.ce_utilisateur AS i_ce_utilisateur, i.prenom_utilisateur AS i_prenom_utilisateur, i.nom_utilisateur AS i_nom_utilisateur, i.courriel_utilisateur AS i_courriel_utilisateur,
i.mots_cles_texte AS i_mots_cles_texte, hauteur, largeur, date_prise_de_vue, i.commentaire AS i_commentaire, nom_original, publiable_eflore
58,16 → 58,17
KEY `nb_tags` (`nb_tags` DESC)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT 'table de stockage des statistiques utilisées pour les tri de PictoFlora';
 
INSERT INTO `BASEDEL`.`del_image_stat` (\
SELECT id_image, divo.ce_protocole, divo.moyenne, divo.nb_votes, dit.ctags \
FROM `BASECEL`.`cel_images` ci \
LEFT JOIN \
 
INSERT INTO `BASEDEL`.`del_image_stat` (
SELECT id_image, divo.ce_protocole, divo.moyenne, divo.nb_votes, dit.ctags
FROM `BASECEL`.`cel_images` ci
LEFT JOIN
( SELECT ce_image, ce_protocole, AVG(valeur) AS moyenne, COUNT(valeur) AS nb_votes
FROM del_image_vote GROUP BY ce_image, ce_protocole ) AS divo
ON ci.id_image = divo.ce_image \
LEFT JOIN \
( SELECT ce_image, COUNT(id_tag) as ctags FROM del_image_tag \
GROUP BY ce_image ) AS dit \
ON ci.id_image = divo.ce_image
LEFT JOIN
( SELECT ce_image, COUNT(id_tag) as ctags FROM del_image_tag
GROUP BY ce_image ) AS dit
ON ci.id_image = dit.ce_image );
 
ALTER TABLE `BASEDEL`.`del_image_protocole` ADD `mots_cles` VARCHAR(600) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;