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

Langage SQL Discussion :

[debutant]Problème avec une requete ....


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 29
    Points : 13
    Points
    13
    Par défaut [debutant]Problème avec une requete ....
    Bonjour,

    j'ai un problème avec une requete que je n'arrive pas à résoudre ...

    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
     
    Mes tables (en resumé pour se qui nous interesse ici):
     
     
    Etude
    -------
    idEtude (pk)
    libelleEtude
     
    Salarie
    ---------
    idSalarie (pk)
    nom
     
    Travaille
    -----------
    idEtude(fk)   |(pk)
    idSalarie(fk) | 
    Temps
    Pour chaque étude je veux la somme des temps de la table travaille:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Resultat
     
    idEtude   libelleEtude  SommeTemps
    --------   -------------  -----------------
    2                test1               3,25
    Voila merci de votre aide !!!


    MichMich

  2. #2
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT idEtude, libelleEtude, SUM(Temps) as  SommeTemps 
    FROM Etude e INNER JOIN Travaille t USING (IdEtude)
    GROUP BY  idEtude, libelleEtude
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Mediat ta requête ne pose pas un problème (ie ne retourne pas le résultat attendu) s'il existe dans la table Etude un enregistrement ayant 2 libelleEtude différents (ou plus) ?

    Moi je ferais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT idEtude, SUM(Temps) as  SommeTemps 
    FROM Etude e INNER JOIN Travaille t USING (IdEtude) 
    GROUP BY idEtude
    Modérateur des forums Oracle et Langage SQL
    Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum

  4. #4
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Citation Envoyé par Magnus
    Mediat ta requête ne pose pas un problème (ie ne retourne pas le résultat attendu) s'il existe dans la table Etude un enregistrement ayant 2 libelleEtude différents (ou plus) ?
    Je suppose que idEtude est l'identifiant de la table Etude, donc je ne vois pas comment le même idEtude pourrait avoir deux libellés, j'ai bien compris ce que tu voulais dire ?
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  5. #5
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Oui tu as bien compris mais je demande maintenant comment j'ai pu poser cette question (l'habitude de travailler sans PK / FK peut être) 8)

    Toutes mes excuses pour le dérangement
    Modérateur des forums Oracle et Langage SQL
    Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum

  6. #6
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Pas de problème
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  7. #7
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 29
    Points : 13
    Points
    13
    Par défaut
    Merci de vos réponses !!

    Je comprends pas, l'analyseur de requete ne comprend pas USING ...

  8. #8
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Citation Envoyé par MichMich29
    Merci de vos réponses !!

    Je comprends pas, l'analyseur de requete ne comprend pas USING ...
    C'est une des syntaxe du INNER JOIN, tu peux essayer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT e.idEtude, libelleEtude, SUM(Temps) as  SommeTemps 
    FROM Etude e INNER JOIN Travaille t ON e.IdEtude = t.IdEtude
    GROUP BY  e.idEtude, libelleEtude
    Attention, du coup il faut préfixer idEtude.

    En derniers recours

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT e.idEtude, libelleEtude, SUM(Temps) as  SommeTemps 
    FROM Etude e, Travaille t 
    WHERE e.IdEtude = t.IdEtude
    GROUP BY  e.idEtude, libelleEtude
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

Discussions similaires

  1. [debutant]problème avec une authentification
    Par sissi25 dans le forum JDBC
    Réponses: 11
    Dernier message: 30/01/2007, 22h51
  2. mysql - problème avec une requete ajout
    Par mekongboy dans le forum Langage SQL
    Réponses: 2
    Dernier message: 30/08/2006, 18h17
  3. problème avec une requete utilisant LIMIT
    Par kow_Ced dans le forum Requêtes
    Réponses: 2
    Dernier message: 11/08/2006, 16h01
  4. problème avec une requete
    Par PAYASS59 dans le forum Requêtes
    Réponses: 2
    Dernier message: 13/03/2006, 13h12
  5. Problème avec une requete SQL sous access
    Par Luther13 dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 14/12/2005, 10h39

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