/branches/v1.12-aluminium/doc/bdd/migrations/2014-10_validateurs/validateurs.sql |
---|
New file |
0,0 → 1,72 |
Utilisateurs ayant proposé le plus grand nombre de propositions ayant été validées : |
SELECT COUNT(id_commentaire) as total_propositions_validees, utilisateur_nom, utilisateur_prenom, id_utilisateur |
FROM `del_commentaire` dc |
INNER JOIN del_utilisateur du |
ON du.id_utilisateur = dc.ce_utilisateur |
WHERE proposition_retenue = 1 |
GROUP BY ce_utilisateur |
ORDER BY total_propositions_validees DESC |
Utilisateurs ayant proposé le plus grand nombre de propositions ayant été validées qui n'étaient pas la proposition initiale: |
SELECT COUNT(id_commentaire) as total_propositions_validees, utilisateur_nom, utilisateur_prenom, id_utilisateur |
FROM `del_commentaire` dc |
INNER JOIN del_utilisateur du |
ON du.id_utilisateur = dc.ce_utilisateur |
WHERE proposition_retenue = 1 |
AND proposition_initiale = 0 |
GROUP BY ce_utilisateur |
ORDER BY total_propositions_validees DESC |
Utilisateurs ayant proposé le plus grand nombre de propositions ayant été validées qui étaient la proposition initiale: |
SELECT COUNT(id_commentaire) as total_propositions_validees, utilisateur_nom, utilisateur_prenom, id_utilisateur |
FROM `del_commentaire` dc |
INNER JOIN del_utilisateur du |
ON du.id_utilisateur = dc.ce_utilisateur |
WHERE proposition_retenue = 1 |
AND proposition_initiale = 1 |
GROUP BY ce_utilisateur |
ORDER BY total_propositions_validees DESC |
Utilisateurs ayant déposé le plus grand nombre de commentaires: |
SELECT COUNT(id_commentaire) as total_commentaires, utilisateur_nom, utilisateur_prenom, id_utilisateur |
FROM `del_commentaire` dc |
INNER JOIN del_utilisateur du |
ON du.id_utilisateur = dc.ce_utilisateur |
WHERE nom_sel IS NULL |
GROUP BY ce_utilisateur |
ORDER BY total_commentaires DESC |
Utilisateurs ayant voté pour le plus grand nombre de propositions retenues: |
SELECT COUNT(dcv.ce_proposition) as total_votes_propositions_validees, du.nom, du.prenom, dcv.ce_utilisateur |
FROM del_commentaire_vote dcv |
INNER JOIN del_commentaire dc |
ON dcv.ce_proposition = dc.id_commentaire |
AND valeur = 1 |
AND dc.proposition_retenue = 1 |
INNER JOIN del_utilisateur du |
ON du.id_utilisateur = dcv.ce_utilisateur |
GROUP BY dcv.ce_utilisateur |
ORDER BY total_votes_propositions_validees DESC |
Observations anonymes ayant des proposition votées positivement (donc potentiellement validables) |
SELECT id_commentaire, ce_observation, |
SUM(CASE |
WHEN valeur = 1 AND dcv.ce_utilisateur REGEXP '^-?[0-9]+$' != 0 THEN 3 |
WHEN valeur = 0 AND dcv.ce_utilisateur REGEXP '^-?[0-9]+$' != 0 THEN -3 |
WHEN valeur = 1 AND dcv.ce_utilisateur REGEXP '^-?[0-9]+$' = 0 THEN 1 |
WHEN valeur = 0 AND dcv.ce_utilisateur REGEXP '^-?[0-9]+$' = 0 THEN -1 |
END |
) as score |
FROM del_commentaire dc |
INNER JOIN del_commentaire_vote dcv |
ON dc.id_commentaire = dcv.ce_proposition |
WHERE dc.ce_observation NOT IN |
(SELECT ce_observation FROM del_commentaire WHERE proposition_retenue = 1) |
AND dc.ce_observation IN |
(SELECT id_observation FROM del_observation WHERE ce_utilisateur = 0) |
AND dc.nom_sel IS NOT NULL |
GROUP BY dcv.ce_proposition |
ORDER BY `score` DESC |
/branches/v1.12-aluminium/doc/bdd/migrations/2014-09_optimisation/maj_optimisation.sql |
---|
New file |
0,0 → 1,67 |
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; |
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; |
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES'; |
-- ----------------------------------------------------- |
-- View `del_obs_images` |
-- ----------------------------------------------------- |
DROP VIEW IF EXISTS `del_obs_image` ; |
DROP TABLE IF EXISTS `del_obs_image`; |
-- View `v_del_image` |
-- ----------------------------------------------------- |
DROP VIEW IF EXISTS `v_del_image` ; |
DROP TABLE IF EXISTS `v_del_image`; |
-- ----------------------------------------------------- |
-- View `del_observations` |
-- ----------------------------------------------------- |
DROP VIEW IF EXISTS `del_observation` ; |
DROP TABLE IF EXISTS `del_observation`; |
CREATE OR REPLACE VIEW del_observation AS |
SELECT id_observation, |
if((char_length(o.ce_utilisateur) <> 32),cast(o.ce_utilisateur as unsigned),0) AS ce_utilisateur, |
o.prenom_utilisateur, o.nom_utilisateur, o.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, o.mots_cles_texte, o.commentaire, |
o.date_creation, o.date_modification, o.date_transmission, certitude |
FROM tb_cel.cel_obs AS o INNER JOIN tb_cel.cel_images AS i ON (o.id_observation = i.ce_observation) |
WHERE o.transmission = '1' ; |
-- ----------------------------------------------------- |
-- View `del_images` |
-- ----------------------------------------------------- |
DROP VIEW IF EXISTS `del_image` ; |
DROP TABLE IF EXISTS `del_image`; |
CREATE OR REPLACE VIEW del_image AS |
SELECT i.id_image, i.ce_observation, |
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_creation, i.date_modification, i.date_liaison, i.date_transmission |
FROM tb_cel.cel_images AS i |
WHERE i.transmission = '1'; |
-- ----------------------------------------------------- |
-- View `del_plantnet` |
-- ----------------------------------------------------- |
## Il est nécessaire de garder une vue de ce type car l'optimisateur d'index de MYSQL fait n'importe quoi dans le cas du WS plantnet/changements... |
DROP VIEW IF EXISTS `del_plantnet` ; |
DROP TABLE IF EXISTS `del_plantnet`; |
CREATE OR REPLACE VIEW del_plantnet AS |
SELECT `o`.`id_observation` AS `id_observation`,`o`.`ce_utilisateur` AS `ce_utilisateur`,`o`.`prenom_utilisateur` AS `prenom_utilisateur`, |
`o`.`nom_utilisateur` AS `nom_utilisateur`,`o`.`courriel_utilisateur` AS `courriel_utilisateur`,`o`.`nom_sel` AS `nom_sel`, |
`o`.`nom_sel_nn` AS `nom_sel_nn`,`o`.`nom_ret` AS `nom_ret`,`o`.`famille` AS `famille`,`o`.`nom_referentiel` AS `nom_referentiel`, |
`o`.`zone_geo` AS `zone_geo`,`o`.`latitude` AS `latitude`,`o`.`longitude` AS `longitude`,`o`.`altitude` AS `altitude`, |
`o`.`date_observation` AS `date_observation`,`o`.`mots_cles_texte` AS `mots_cles_texte`,`o`.`date_creation` AS `date_creation`, |
`o`.`date_modification` AS `date_modification`,`o`.`date_transmission` AS `date_transmission`,`i`.`id_image` AS `id_image`, |
`i`.`ce_utilisateur` AS `i_ce_utilisateur`,`i`.`mots_cles_texte` AS `i_mots_cles_texte`,`i`.`nom_original` AS `nom_original`, |
`i`.`date_creation` AS `i_date_creation`,`i`.`date_modification` AS `i_date_modification` |
FROM (`tb_cel_test`.`cel_obs` `o` |
JOIN `tb_cel_test`.`cel_images` `i` ON ((`o`.`id_observation` = `i`.`ce_observation`))) |
WHERE (`o`.`transmission` = '1'); |
-- ----------------------------------------------------- |
SET SQL_MODE=@OLD_SQL_MODE; |
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; |
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS; |
/branches/v1.12-aluminium/doc/bdd/migrations/2017-03_suppression_del_utilisateur/suppression_del_utilisateur.sql |
---|
New file |
0,0 → 1,17 |
-- suppression de la vue del_utilisateur et enrichissement de la table del_utilisateur_infos |
ALTER TABLE del_utilisateur_infos ADD COLUMN courriel VARCHAR(128) AFTER id_utilisateur; |
ALTER TABLE del_utilisateur_infos ADD COLUMN nom VARCHAR(32) AFTER id_utilisateur; |
ALTER TABLE del_utilisateur_infos ADD COLUMN prenom VARCHAR(32) AFTER id_utilisateur; |
ALTER TABLE del_utilisateur_infos ADD COLUMN intitule VARCHAR(128) AFTER id_utilisateur; |
-- recollage des prénoms, noms, courriels, tant qu'on a encore l'ancien annuaire sous le coude |
UPDATE del_utilisateur_infos SET prenom = (SELECT U_SURNAME FROM tela_prod_v4.annuaire_tela WHERE U_ID = id_utilisateur); |
UPDATE del_utilisateur_infos SET nom = (SELECT U_NAME FROM tela_prod_v4.annuaire_tela WHERE U_ID = id_utilisateur); |
UPDATE del_utilisateur_infos SET courriel = (SELECT U_MAIL FROM tela_prod_v4.annuaire_tela WHERE U_ID = id_utilisateur); |
-- recollage des intitulés (lent et facultatif) |
UPDATE del_utilisateur_infos SET intitule = (SELECT IF ((SELECT amv_valeur FROM tela_prod_v4.annu_meta_valeurs WHERE amv_ce_colonne = 136 AND amv_cle_ligne = tela_prod_v4.annuaire_tela.U_ID ORDER BY amv_valeur DESC LIMIT 1) = 1, (SELECT amv_valeur FROM tela_prod_v4.annu_meta_valeurs WHERE amv_ce_colonne = 99 AND amv_cle_ligne = tela_prod_v4.annuaire_tela.U_ID), CONCAT(U_SURNAME, ' ', U_NAME)) AS intitule FROM tela_prod_v4.annuaire_tela WHERE U_ID = id_utilisateur); |
-- suppression de la vue ! |
DROP VIEW del_utilisateur; |