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 :

Requète avec GROUP BY sql server 2000


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 134
    Par défaut Requète avec GROUP BY sql server 2000
    Bonjour,

    j'ai une requete qui interroge la table sculfort_stock en fonction d'un id_article. Cette requete fait la somme d'un id_article par plateau et me donne le résultat si il est supérieur à 0


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sql = "SELECT SUM(sculfort_stock.quantite) AS sommequantite FROM sculfort_stock WHERE sculfort_stock.id_article=" & Rst4("id_article") & " GROUP BY sculfort_stock.id_plateau HAVING SUM(sculfort_stock.quantite)>0"
    cette requete fonctionne bien mais je n'arrive pas à la lier à avec mes autres tables par exemple "sculfort_article" pour récuperer d'autres informations par exemple la designation "sculfort_article.designation"

    Dès que je fais une liason cela ne fonctionne plus.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sql = "SELECT SUM(sculfort_stock.quantite) AS sommequantite, sculfort_article.designation FROM sculfort_stock, sculfort_artcile JOIN sculfort_article ON sculfort_stock.id_article = sculfort_article.id_article WHERE sculfort_stock.id_article=" & Rst4("id_article") & " GROUP BY sculfort_stock.id_plateau HAVING SUM(sculfort_stock.quantite)>0"

    QQ'un peut il me dire pourquoi cela ne fonctionne plus ? Je bloque depuis pas mal de tps sur cette requete et je n'arrive plus à avancer ...

    Cordialement,
    Corben

  2. #2
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Par défaut
    Bonjour,

    Houllalla

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    sql = "SELECT SUM(sculfort_stock.quantite) AS sommequantite
       , sculfort_article.designation 
    FROM sculfort_stock, sculfort_artcile JOIN sculfort_article 
                              ON sculfort_stock.id_article = sculfort_article.id_article 
    WHERE sculfort_stock.id_article=" & Rst4("id_article") & " 
    GROUP BY sculfort_stock.id_plateau 
    HAVING SUM(sculfort_stock.quantite)>0"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    sql = "SELECT SUM(sculfort_stock.quantite) AS sommequantite
       , sculfort_article.designation 
    FROM sculfort_stock INNER JOIN sculfort_artcile
                       ON sculfort_stock.id_article = sculfort_article.id_article 
    WHERE sculfort_stock.id_article=" & Rst4("id_article") & " 
    GROUP BY sculfort_article.designation 
    HAVING SUM(sculfort_stock.quantite)>0"
    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 134
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    sql = "SELECT SUM(sculfort_stock.quantite) AS sommequantite,
     sculfort_stock.designation FROM sculfort_stock, sculfort_article INNER JOIN 
    sculfort_article ON sculfort_stock.id_article = sculfort_article.id_article 
    WHERE sculfort_stock.id_article=" & Rst4("id_article") & " GROUP BY 
    sculfort_stock.id_plateau HAVING SUM(sculfort_stock.quantite)>0"
    Jobtiens le message suivant : les tables ou les fonctions sculfort_article et sculfort_article ont les meme nom exposé. utiliser les nom de correlation pour les distinguer.

    Merci pour ton aide précieuse

  4. #4
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Par défaut
    Oups, tu n'as pas fait attention! La première requête était la tienne indentée... La seconde ne reprend qu'1 fois chaqu'une des tables !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    sql = "SELECT SUM(sculfort_stock.quantite) AS sommequantite
       , sculfort_article.designation 
    FROM sculfort_stock INNER JOIN sculfort_artcile
                       ON sculfort_stock.id_article = sculfort_article.id_article 
    WHERE sculfort_stock.id_article=" & Rst4("id_article") & " 
    GROUP BY sculfort_article.designation 
    HAVING SUM(sculfort_stock.quantite)>0"
    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 134
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    sql = "SELECT SUM(sculfort_stock.quantite) AS sommequantite, 
    sculfort_article.designation FROM sculfort_stock INNER JOIN sculfort_article 
    ON sculfort_stock.id_article = sculfort_article.id_article WHERE 
    sculfort_stock.id_article=" & Rst4("id_article") & " GROUP BY 
    sculfort_stock.id_plateau HAVING SUM(sculfort_stock.quantite)>0"
    Voila je viens de modifier je pense qu'il y avait une petite faute de frappe sur ta requete aprés le GROUP BY .id_plateau et non pas .description

    Cela me donne encore une erreur :

    la colonne sculfort_article.designation n'est pas valide dans la liste de selection car elle n'est pas contenue ds une fonction d'aggregation ou ds la clause GROUP BY

    Merci pour ton aide

  6. #6
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Par défaut
    Tu ne regarde pas la requête que je t'ai donné ?

    Lorsque l'on utilise un agrégat les noms des colonnes du SELECT hormis celle possédant l'agrégat doivent être dans le GROUP BY.

    Donc sculfort_article.designation doit être dans le GROUP BY !



    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



Discussions similaires

  1. Réponses: 1
    Dernier message: 04/07/2007, 12h44
  2. Requête paramètrer sur table SQL Server 2000
    Par Andry dans le forum Bases de données
    Réponses: 4
    Dernier message: 21/06/2007, 11h24
  3. Requêtes analyses croisées sous SQL Server 2000
    Par callo dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 24/09/2005, 19h27
  4. Procedure stockée avec ntext dans SQL server 2000
    Par nagababa dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 20/11/2003, 20h46

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