IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Aide pour requetage de plus en plus compliqué ...


Sujet :

Requêtes MySQL

  1. #41
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2012
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2012
    Messages : 93
    Points : 29
    Points
    29
    Par défaut
    La solution est dans le développement d'une application qui exploite la base de données.

    Ne laisse pas n'importe qui mettre les doigts directement dans le SGBD, c'est trop risqué !
    Même en tant que DBA expérimenté, on n'est pas à l'abri d'une mauvaise manip qui casse les données, voire la BDD entière !
    On n'en avais déjà parlé, le truc c'est que les chercheurs (ils sont 3) vont se servir de PhpMyadmin pour interroger la base, je leur ai bien parlé d'utiliser une application que la base de donnée n’était qu'un lieu de stockage et qu'il était risqué de l'utiliser de la sorte.
    Mais ils ont décidé de faire comme prévu au départ
    N’étant que stagiaire, l'essentiel pour moi c'est d'avoir pu développer la base de données, chose que je n'avais fait et d'avoir préparé des requêtes types qui permettrons aux chercheurs de s'inspirer pour interroger la base .

    J'en profite d’ailleurs pour remercier le site développer.com et toi en particulier, je vous remercie aussi dans mon rapport de stage car sans vous je n'y serais pas arrivé ou je n'aurais sans doute pas fait quelque chose de fonctionnel.

    Même si je suis d'accord avec toi, je dois quand même essayer d'agencer les résultats ou trouver un moyen de le faire (mais bon pas le temps pour le développement et la prog, surtout que je n'y connais rien pour le moment).

  2. #42
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Ben je leur souhaite bien du courage pour utiliser phpMyAdmin s'ils ne maîtrisent que moyennement les mécanismes des BDD et le langage SQL !

    Et recommande leur vivement de faire des sauvegardes régulières (au moins quotidiennes) de la BDD.

    Même si je suis d'accord avec toi, je dois quand même essayer d'agencer les résultats ou trouver un moyen de le faire (mais bon pas le temps pour le développement et la prog, surtout que je n'y connais rien pour le moment).
    Et là va se poser le problème d'avoir choisi MySQL qui ne dispose pas des requêtes récursives !
    S'il veulent une présentation en tableau comme dans le fichier d'origine que tu nous avais montré, ça va être très galère et peu performant je crains ! Du genre de la requête du présent message, voire pire.

    Si par contre ils veulent des statistiques globales, tu crées les vues nécessaires et ils n'ont qu'à les exécuter. mais auras-tu le temps avant la fin de ton stage ?

    Je crois que tu peux
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #43
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2012
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2012
    Messages : 93
    Points : 29
    Points
    29
    Par défaut
    je dois leur faire un point complet lundi matin pour leur expliquer ce que j'ai fait et comment ça fonctionne, je leur poserais la question sur les statistiques, ce sera ma dernière semaine ^^
    Il me reste encore pas mal de boulot pour finir de remonter les données, même si moi je fait pas grand chose ça prend du temps

  4. #44
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2012
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2012
    Messages : 93
    Points : 29
    Points
    29
    Par défaut
    Bonjour,

    J'ai une piste pour agencer mes resultats avec une colonne par capteur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    SELECT IFNULL(r.id_station_stations,'1') AS id_station_stations, d.date_heure_locale, CONVERT_TZ(d.date_heure_locale, 'Europe/Paris', 'UTC') AS date_heure_UTC, 
    TIMESTAMPDIFF(MINUTE,d.date_heure_locale,'2000-01-01 00:00:00') AS temps_ecoule
    		, CONCAT(CASE WHEN  c.id_capteur = 0 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v0
    		, CONCAT(CASE WHEN  c.id_capteur = 1 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v1
    		, CONCAT(CASE WHEN  c.id_capteur = 2 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v2
    		, CONCAT(CASE WHEN  c.id_capteur = 3 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v3
    		, CONCAT(CASE WHEN  c.id_capteur = 4 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v4
    		, CONCAT(CASE WHEN  c.id_capteur = 5 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v5
    		, CONCAT(CASE WHEN  c.id_capteur = 6 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v6
    		, CONCAT(CASE WHEN  c.id_capteur = 7 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v7
    		, CONCAT(CASE WHEN  c.id_capteur = 8 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v8
    		, CONCAT(CASE WHEN  c.id_capteur = 9 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v9
    		, CONCAT(CASE WHEN  c.id_capteur = 10 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v10
    		, CONCAT(CASE WHEN  c.id_capteur = 11 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v11
    		, CONCAT(CASE WHEN  c.id_capteur = 12 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v12
    		, CONCAT(CASE WHEN  c.id_capteur = 13 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v13
    		, CONCAT(CASE WHEN  c.id_capteur = 14 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v14
    		, CONCAT(CASE WHEN  c.id_capteur = 15 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v15
    		, CONCAT(CASE WHEN  c.id_capteur = 16 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v16
    		, CONCAT(CASE WHEN  c.id_capteur = 17 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v17
    		, CONCAT(CASE WHEN  c.id_capteur = 18 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v18
    		, CONCAT(CASE WHEN  c.id_capteur = 19 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v19
    		, CONCAT(CASE WHEN  c.id_capteur = 20 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v20
    		, CONCAT(CASE WHEN  c.id_capteur = 21 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v21
    		, CONCAT(CASE WHEN  c.id_capteur = 22 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v22
    		, CONCAT(CASE WHEN  c.id_capteur = 23 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v23
    		, CONCAT(CASE WHEN  c.id_capteur = 24 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v24
    		, CONCAT(CASE WHEN  c.id_capteur = 25 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v25
    		, CONCAT(CASE WHEN  c.id_capteur = 26 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v26
    		, CONCAT(CASE WHEN  c.id_capteur = 27 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v27
    		, CONCAT(CASE WHEN  c.id_capteur = 28 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v28
    		, CONCAT(CASE WHEN  c.id_capteur = 29 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v29
    		, CONCAT(CASE WHEN  c.id_capteur = 30 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v30
    		, CONCAT(CASE WHEN  c.id_capteur = 31 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v31
    		, CONCAT(CASE WHEN  c.id_capteur = 32 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v32
    		, CONCAT(CASE WHEN  c.id_capteur = 33 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v33
    		, CONCAT(CASE WHEN  c.id_capteur = 34 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v34
    		, CONCAT(CASE WHEN  c.id_capteur = 35 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v35
    		, CONCAT(CASE WHEN  c.id_capteur = 36 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v36
    		, CONCAT(CASE WHEN  c.id_capteur = 37 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v37
    		, CONCAT(CASE WHEN  c.id_capteur = 38 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v38
    		, CONCAT(CASE WHEN  c.id_capteur = 39 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v39
    		, CONCAT(CASE WHEN  c.id_capteur = 40 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v40
    		, CONCAT(CASE WHEN  c.id_capteur = 41 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v41
    		, CONCAT(CASE WHEN  c.id_capteur = 42 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v42
    		, CONCAT(CASE WHEN  c.id_capteur = 43 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v43
    		, CONCAT(CASE WHEN  c.id_capteur = 44 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v44
    		, CONCAT(CASE WHEN  c.id_capteur = 45 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v45
    		, CONCAT(CASE WHEN  c.id_capteur = 46 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v46
    		, CONCAT(CASE WHEN  c.id_capteur = 47 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v47
    		, CONCAT(CASE WHEN  c.id_capteur = 48 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v48
    		, CONCAT(CASE WHEN  c.id_capteur = 49 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v49
    		, CONCAT(CASE WHEN  c.id_capteur = 50 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v50
    		, CONCAT(CASE WHEN  c.id_capteur = 51 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v51
    		, CONCAT(CASE WHEN  c.id_capteur = 52 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v52
    		, CONCAT(CASE WHEN  c.id_capteur = 53 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v53
    		, CONCAT(CASE WHEN  c.id_capteur = 54 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v54
    		, CONCAT(CASE WHEN  c.id_capteur = 55 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v55
    		, CONCAT(CASE WHEN  c.id_capteur = 56 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v56
    		, CONCAT(CASE WHEN  c.id_capteur = 57 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v57
    		, CONCAT(CASE WHEN  c.id_capteur = 58 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v58
    		, CONCAT(CASE WHEN  c.id_capteur = 59 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v59
    		, CONCAT(CASE WHEN  c.id_capteur = 60 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v60
    		, CONCAT(CASE WHEN  c.id_capteur = 61 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v61
    		, CONCAT(CASE WHEN  c.id_capteur = 62 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v62
    		, CONCAT(CASE WHEN  c.id_capteur = 63 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v63
    		, CONCAT(CASE WHEN  c.id_capteur = 64 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v64
    		, CONCAT(CASE WHEN  c.id_capteur = 65 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v65
    		, CONCAT(CASE WHEN  c.id_capteur = 66 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v66
    		, CONCAT(CASE WHEN  c.id_capteur = 67 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v67
    		, CONCAT(CASE WHEN  c.id_capteur = 68 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v68
    		, CONCAT(CASE WHEN  c.id_capteur = 69 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v69
    		, CONCAT(CASE WHEN  c.id_capteur = 70 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v70
    		, CONCAT(CASE WHEN  c.id_capteur = 71 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v71
    		, CONCAT(CASE WHEN  c.id_capteur = 72 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v72
    		, CONCAT(CASE WHEN  c.id_capteur = 73 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v73
    		, CONCAT(CASE WHEN  c.id_capteur = 74 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v74
    		, CONCAT(CASE WHEN  c.id_capteur = 75 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v75
    		, CONCAT(CASE WHEN  c.id_capteur = 76 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v76
    		, CONCAT(CASE WHEN  c.id_capteur = 77 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v77
    		, CONCAT(CASE WHEN  c.id_capteur = 78 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v78
    		, CONCAT(CASE WHEN  c.id_capteur = 79 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v79
    		, CONCAT(CASE WHEN  c.id_capteur = 80 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v80
    		, CONCAT(CASE WHEN  c.id_capteur = 81 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v81
    		, CONCAT(CASE WHEN  c.id_capteur = 82 THEN r.valeur ELSE IFNULL(r.valeur, '-9999.99') END) AS v82
     
    FROM   capteur c
           CROSS JOIN calendrier d 
           LEFT OUTER JOIN relever_mesure r
                  ON r.id_capteur_capteur=c.id_capteur
                     AND d.id_calendrier=r.id_calendrier_calendrier
                     AND r.id_station_stations=1
     
    WHERE d.date_heure_locale BETWEEN '2012/01/01 00:00:00'
                              AND     '2012/01/02 00:00:00'
    OR d.date_heure_locale IS NULL
    la j'ai bien une colonne par capteur mais malheureusement la colonne V0 ne me donne pas les resultats du capteurs 0 (soit 1) et la première ligne me donne le même resultats partout ( 1 ), donc ma première ligne me renvois toujours la valeur du capteur 0 sur toute mes colonnes
    si quelqu'un a une idée je suis preneur

  5. #45
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2012
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2012
    Messages : 93
    Points : 29
    Points
    29
    Par défaut
    j'ai un léger mieux en mettant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     CONCAT(CASE WHEN  c.id_capteur = 0 THEN IFNULL(r.valeur, '-9999.99') END) AS v0
    j'obtiens presque ce que je veux je vous met un extrait de la table, j'ai bien mes valeur dans les colonnes correspondante mais le problème c'est que ma datetime se répète pour chaque capteur alors que si j'ai une colonne par capteur ce n'est pas utile.
    Images attachées Images attachées  

  6. #46
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2012
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2012
    Messages : 93
    Points : 29
    Points
    29
    Par défaut
    Bonjour à tous,
    après négociation le laboratoire ou je fait mon stage a décidé de faire appel à un développeur pour gérer le coté cosmétique du rendu des données.
    Mon stage touche à ça fin, il me reste pas mal de données a remonter mais ça devrait être bon .
    Un grand merci au site developpez.net et à tous ceux qui m'ont aidé.
    Dans 2 semaines je passe mon examen mais je pense bien revenir vous voir vu que j'ai pour projet de reprendre le tuto sur les SGBDR, vu que je n'ai fait que le survoler pendant ce stage a cause du manque de temps.

    encore merci a tous
    nrpfc

+ Répondre à la discussion
Cette discussion est résolue.
Page 3 sur 3 PremièrePremière 123

Discussions similaires

  1. Windows Azure : plus simple, plus flexible, plus ouvert
    Par Gordon Fowler dans le forum Microsoft Azure
    Réponses: 2
    Dernier message: 08/06/2012, 21h44
  2. Requête plus ou moins compliquée pour moi
    Par Just-Soft dans le forum SQL
    Réponses: 17
    Dernier message: 31/07/2011, 01h04
  3. Réponses: 0
    Dernier message: 28/06/2011, 17h18
  4. Réponses: 8
    Dernier message: 18/09/2007, 11h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo