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

PHP & Base de données Discussion :

[SQL] Encore mes kms !


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de fallais
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2006
    Messages : 858
    Par défaut [SQL] Encore mes kms !
    Voila je reviens avec mon script de gestion de mes kms parcourus (ACC )
    Voila un bout de ma table simplifiée :

    id kms circonstance
    1 12 Nuit
    2 15
    3 15 Brouillard
    4 15 Neige

    J'aimerai le total des kilometres en fonction des criconstances sachant QUE un champ circonstance vide equivaut a Beau Temps, ET neige, brouillard,... equivaut a Mauvais Temps, et nuit ben ... a Nuit lol

    J'imagine qu'il va falloir utiliser SUM SELECT et GROUP BY mais la je bute sur la requete (et ca me prend la tete )

    La page est visible ici

    Merci de m'aider

  2. #2
    Membre chevronné
    Avatar de DBProg
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 242
    Par défaut
    Salut !

    A défaut de savoir le faire dans une requête SQL je le ferai dans une procédure stockée avec des IF en fait. Mais je pense qu'il doit exister une solution avec des CASE dans le SELECT. Mais je n'ai jamais effectué ce genre de requêtes.
    La vitesse de la lumière étant supérieure à la vitesse du son, certaines personnes brillent encore tant qu'elles n'ont pas parlé
    -----------------------------------------------------------
    Retrouvez mes articles informatique sur mon Site Developpez.
    Le reste, sur le Site perso !


  3. #3
    Membre Expert
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Par défaut
    Citation Envoyé par dbprog
    Salut !

    A défaut de savoir le faire dans une requête SQL je le ferai dans une procédure stockée avec des IF en fait. Mais je pense qu'il doit exister une solution avec des CASE dans le SELECT. Mais je n'ai jamais effectué ce genre de requêtes.
    ???? cad


    La solution simple,
    SELECT SUM(kms) as Km FROM tatable GOUP BY circonstance

    Je ne l'ai pas testé mais bon se devrait être sa.

    Après pour faire les équivalence texte d'IHM <-> texte en base, fais le en php.
    Le texte d'IHM n'à a priori pas à être géré au niveau du sgbd dans cette exemple.

    ----------------------- édit
    Au fais pourquoi beau temps ne s'appelle pas beau temps dans la table ?
    Tant que j'y suis pourquoi ne pas avoir créé une table de circonstances ?

    bbye

  4. #4
    Membre émérite
    Avatar de Biglo
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 537
    Par défaut
    Citation Envoyé par ePoX
    SELECT SUM(kms) as Km FROM tatable GOUP BY circonstance

    Je ne l'ai pas testé mais bon se devrait être sa.
    Pas tout à fait. Les colonnes spécifiées dans le GROUP BY doivent être reprises dans le SELECT (eh oui sinon on ne sait pas à quel groupe appartient la somme).

    Ceci serait encore mieux vu les données contenues :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT IFNULL(circonstance, 'Beau temps'), SUM(kms) as Km FROM tatable GOUP BY circonstance
    Citation Envoyé par ePoX
    Au fais pourquoi beau temps ne s'appelle pas beau temps dans la table ?
    Tant que j'y suis pourquoi ne pas avoir créé une table de circonstances ?
    Bonnes questions ça

  5. #5
    Membre Expert
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Par défaut
    Et oui je suis trop habitué à Mysql :/ C'est bien le genre de règle auquel je ne ferai qu'en souffrant.

  6. #6
    Membre émérite
    Avatar de Biglo
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 537
    Par défaut
    Ah ben... j'ai tellement souffert avec d'autres SGBD que je n'ai jamais remarqué que MySQL permettait cela

    Comme quoi, il vaut mieux prendre directement les bonnes habitudes

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SQL] encore les dates
    Par SpaceFrog dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 13/12/2007, 14h54
  2. [SQL] Encore un probleme de date et heure !
    Par Maxi-môme dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 28/06/2007, 16h25
  3. [ORACLE-SQL]virer mes doublons
    Par gusrom86 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 04/05/2007, 09h59
  4. Code SQL de mes requêtes coupées par ACCESS 2003
    Par boubou_s dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 13/03/2007, 16h34
  5. sql encore et tjs... :o(
    Par exyacc dans le forum Bases de données
    Réponses: 18
    Dernier message: 14/09/2005, 14h25

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