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 :

probleme avec requete et sous-requete...


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2005
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 8
    Points : 5
    Points
    5
    Par défaut probleme avec requete et sous-requete...
    Bonjour

    J'ai trois tables :

    chrono
    --------
    id
    etc....

    production
    ------------
    id
    production (un champs texte)

    chrono - production
    ---------------------
    id
    chrono (relation avec chrono.id)
    production (relation avec production.id)

    J'aimerais pouvoir avoir la somme des champs pour chacune de mes productions (7 en tout).

    J'avais pensé un truc comme :

    SELECT chrono.id, (select production from [chrono - production] where [chrono - production].id=chrono.id and [chrono - production].production=1) as sum_prod_1,
    FROM chrono

    et ainsi de suite pour mes 7, mais cela ne marche pas, avez-vous une meilleure solution ??

    J'aimerais avoir un résultat comme ceci :

    id prod_1 prod_2 prod_3 etc....
    --- --------- --------- ---------
    1 1 1 0

    prod_1 serait quand production.id=1 et ainsi de suite.

    Merci

  2. #2
    Membre actif
    Avatar de mathk
    Inscrit en
    Décembre 2003
    Messages
    211
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 211
    Points : 233
    Points
    233
    Par défaut
    j'ai pas bien compris ton problem mais est ce que la fonction SUM ne sufirait pas?
    Si grande est la faiblesse d'une âme, dont la raison est partie!
    Ne jamais embrouiller ni abasourdir par une foule d'images le génie intérieur qui réside au fonde de sa poitrine,...
    L'ambition est le rfuge de l'échec. "Oscar Wild"

  3. #3
    Futur Membre du Club
    Inscrit en
    Août 2005
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Si ca se fait avec une SUM, je ne vois pas comment le faire...car chaque sum doivent avoir un where id=1, where id=2, etc...

    merci

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Canada

    Informations forums :
    Inscription : Février 2004
    Messages : 27
    Points : 35
    Points
    35
    Par défaut
    Solution possible utiliser Union all avec un max pour enlever les nulls:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    select max(prod1), max(prod2), max(prod3)
    from (select production as prod1, null as prod2, null as prod3
          from ...
          where id_prod = 1
          union all
          select  null as prod1, production as prod2, null as prod3
          from ...
          where id_prod = 1
          union all
          select  null as prod1, null as prod2, production as prod3
          from ...
          where id_prod = 1
         )
    mais je ne suis pas certains d'avoir bien compris les liens entre les tables et ce que tu calculais.

  5. #5
    Membre actif
    Avatar de mathk
    Inscrit en
    Décembre 2003
    Messages
    211
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 211
    Points : 233
    Points
    233
    Par défaut
    Qu'est que tu veut dire par

    J'aimerais pouvoir avoir la somme des champs pour chacune de mes productions (7 en tout).
    Quelle champs :
    Si grande est la faiblesse d'une âme, dont la raison est partie!
    Ne jamais embrouiller ni abasourdir par une foule d'images le génie intérieur qui réside au fonde de sa poitrine,...
    L'ambition est le rfuge de l'échec. "Oscar Wild"

  6. #6
    Futur Membre du Club
    Inscrit en
    Août 2005
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Dans production, jai le champs id et production

    en tout, il y a 7 enregistrements dans la table

    id - production
    1 - extérieur
    2 - intérieur
    etc...


    C'est les 7 enregistrements que je voudrais avoir pour faire une somme.

    donc je veux que mon select me retourne chrono.id + le nombre d'entrée dans [chrono - production] ayant le production=1, chrono.id + le nombre d'entrée dans [chrono - production] ayant le production=2, chrono.id + le nombre d'entrée dans [chrono - production] ayant le production=3, etc... jusqu'a 7

    Désolé pour la confusion

    merci

Discussions similaires

  1. Sous requete de sous requete..(trop long)
    Par Thesum dans le forum Langage SQL
    Réponses: 3
    Dernier message: 09/10/2008, 10h12
  2. Probleme de multiplication avec valeurs de sous requete
    Par fred_vannes56 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 21/05/2008, 14h34
  3. [sql]Probleme de count dans une requete sql (sous access)
    Par castelligreg dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 14/04/2006, 16h06
  4. [MySQL] probleme avec liste déroulante et requete
    Par Ludo75 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/01/2006, 13h55
  5. probleme de requete (de sous requetes ?)
    Par menoce dans le forum Requêtes
    Réponses: 6
    Dernier message: 08/07/2005, 15h23

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