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 :

Association ORDER BY/GROUP BY...


Sujet :

Langage SQL

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 310
    Points : 139
    Points
    139
    Par défaut Association ORDER BY/GROUP BY...
    Bonjour tout le monde :-)

    J'ai une tite requête qui me pose un souci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT R.[Artcc], R.[Artcl], R.[Desi_article], R.[Suite_desi_article], R.[StatutVal], 
           R.[IncideMineur], R.[Fam_art], R.[Stock], R.[DateMvt], R.[Px_Achat], R.[Coef_prx]
    FROM [R_Artcc_Historique_Mvt] AS R 
         LEFT JOIN [R_Artcc_avec_mvt_depuis_1500j] AS R2 ON R.[Artcc] = R2.[Artcc]
    WHERE R2.[Artcc] Is Null
    ORDER BY R.Artcc;
    J'ai que le résultat me tri selon Artcc mais aussi me regroupe selon Artcc en prenant la date max de DateMvt !

    Et là je sèche complètement ;-)

    Merci d'avance à tous...

  2. #2
    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
    Tu peux :
    1/ indiquer ton SGBD et sa version
    2/ (re)formuler ta question
    3/ fournir un jeu d'essais simplifié nous permettant de comprendre ce que tu veux faire et ce que ta requête retourne actuellement

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 310
    Points : 139
    Points
    139
    Par défaut
    J'étais sous Access 97. Je viens de contourner le pb en créeant 2 autres requêtes intermédiaire ;-)

    Mais j'aurais aimer comprendre sur un même champ faire un tri et un regroupement en SQL...

    Ca doit être "bête" mais pour l'instant ça ne marche pas !

    @ bientôt

  4. #4
    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
    Citation Envoyé par boulap
    ...un regroupement en SQL...

    Ca doit être "bête" mais pour l'instant ça ne marche pas !
    Tu parles de regroupement mais ta requête ne contient pas de GROUP BY !

    D'autre part quand tu dis "ça ne marche", il serait préférable que tu indiques ton message d'erreur éventuel ou que tu fournisses le résultat obtenu.

    Bref tu n'as pas répondu complètement à mon 1er message...

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 310
    Points : 139
    Points
    139
    Par défaut
    justement je n'ai âs encore mis le GROUP BY, je ne sais où et comment le mettre ;-) j'aimerais un GROUP BY R.Artcc

    je n'ai plus le message en tête je te dis demain si pas de news d'ici là :-p

  6. #6
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Oui, je suis d'accord avec Magnus, je ne comprends pas ce que tu veux faire : il faudrait que nous explique clairement à quel résultat tu veux aboutir, et que tu nous décrive un peu l'organisation de tes données.

    J'ai jeté un oeil à ta requête. Ce bout-ci m'étonne un peu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ... ON R.[Artcc] = R2.[Artcc]
    WHERE R2.[Artcc] Is Null 
    ORDER BY R.Artcc
    Tu fais une jointure sur un champ Artcc, dont la valeur doit être Null :

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 310
    Points : 139
    Points
    139
    Par défaut
    j'ai une 1ère requête R qui me donne un ensemble d'enregistrements avec une date
    une 2ème R2 qui me donne ces même enregistrements ayant une date >1500j

    et cette 3ème requête doit me ressortir de R les enregistrements qui ne sont pas dans R2 avec regroupement et tri sur Artcc

    je ne sais pas si c'est bien clair ! lol

  8. #8
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Si j'ai bien compris, ce n'est pas une jointure externe dont tu as besoin, mais d'une sous-requête d'exclusion, du type "NOT EXISTS". Est-ce que ce qui suit :
    - fonctionne sous Access ?
    - te convient ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT R.[Artcc], R.[Artcl], R.[Desi_article], R.[Suite_desi_article], R.[StatutVal],
           R.[IncideMineur], R.[Fam_art], R.[Stock], R.[DateMvt], R.[Px_Achat], R.[Coef_prx]
      FROM [R_Artcc_Historique_Mvt] AS R
     WHERE NOT EXISTS (SELECT R2.[Artcc]
                         FROM [R_Artcc_avec_mvt_depuis_1500j] AS R2
                        WHERE R.[Artcc] = R2.[Artcc])
     ORDER BY R.Artcc;

    Artcc est ta clé primaire ? Je n'ai pas fait de regroupement, je ne peux pas l'intégrer à une telle requête, il me faudrait utiliser des fonctions d'aggrégations telles que SUM ou COUNT sur les autres champs, et je doute que ce soit ce que tu veuille faire ?

    cf. un exemple avec un GROUP BY :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT R.[Artcc], COUNT(R.[Artcl])
      FROM [R_Artcc_Historique_Mvt] AS R
     WHERE NOT EXISTS (SELECT R2.[Artcc]
                          FROM [R_Artcc_avec_mvt_depuis_1500j] AS R2
                         WHERE R.[Artcc] = R2.[Artcc])
     GROUP BY R.Artcc
     ORDER BY R.Artcc;

Discussions similaires

  1. [SP-2007] creation et association : roledefinition, permission, group et user
    Par sarakoana dans le forum SharePoint
    Réponses: 1
    Dernier message: 04/08/2009, 14h31
  2. order by + group by
    Par dirty_harry dans le forum Langage SQL
    Réponses: 9
    Dernier message: 02/06/2009, 13h00
  3. Order by + Group by
    Par Overstone dans le forum Langage SQL
    Réponses: 2
    Dernier message: 16/12/2008, 00h18
  4. Order By, Group By et First()
    Par timoth dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 20/02/2008, 13h58
  5. requête order by + group by ?
    Par isa38 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 12/07/2005, 14h42

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