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

Oracle Discussion :

[SQL] Besoin d'aide pour une requête


Sujet :

Oracle

  1. #1
    Membre habitué Avatar de PoichOU
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juillet 2006
    Messages : 328
    Points : 161
    Points
    161
    Par défaut [SQL] Besoin d'aide pour une requête
    Bonjour,

    J'ai la table suivante :
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    -----------------------------------------------------
    | id | Famille |   Type   | Sous_type | Qte | MOIS  |
    -----------------------------------------------------
    |  1 | Fruit   |   Orange | Mandarine |  2  |   1   |
    |  2 | Fruit   |   Orange | Mandarine | 10  |   2   |
    |  3 | Fruit   |   Orange | Mandarine |  8  |   3   |
    |  4 | Fruit   |   Orange | Mandarine | 17  |   4   |
    |  5 | Fruit   |   Orange | Mandarine | 28  |   5   |
    |  6 | Fruit   |   Orange | Mandarine | 35  |   6   |
    |  7 | Fruit   |   Orange | Mandarine | 40  |   7   |
    |  8 | Fruit   |   Orange | Mandarine | 20  |   8   |
    |  9 | Fruit   |   Orange | Mandarine |  8  |   9   |
    | 10 | Fruit   |   Orange | Mandarine |  4  |  10   |
    | 11 | Fruit   |   Orange | Mandarine |  1  |  11   |
    | 12 | Fruit   |   Orange | Mandarine |  0  |  12   |
    | 13 | Fruit   |   Orange | Sanguine  |  4  |   1   |
    | 14 | Fruit   |   Orange | Sanguine  | 17  |   2   |
    | 15 | Fruit   |   Orange | Sanguine  | 18  |   3   |
    | 16 | Fruit   |   Orange | Sanguine  | 27  |   4   |
    | 17 | Fruit   |   Orange | Sanguine  | 38  |   5   |
    | 18 | Fruit   |   Orange | Sanguine  | 55  |   6   |
    | 19 | Fruit   |   Orange | Sanguine  | 50  |   7   |
    | 20 | Fruit   |   Orange | Sanguine  | 30  |   8   |
    | 21 | Fruit   |   Orange | Sanguine  | 18  |   9   |
    | 22 | Fruit   |   Orange | Sanguine  | 14  |  10   |
    | 23 | Fruit   |   Orange | Sanguine  |  7  |  11   |
    | 24 | Fruit   |   Orange | Sanguine  |  7  |  12   |
    -----------------------------------------------------
    Je voudrais faire une requête de calcul de quantité par année, pour obtenir le résultat suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ---------------------------------------------
    | id | Famille |   Type   | Sous_type | Qte |
    ---------------------------------------------
    |  1 | Fruit   |   Orange | Mandarine | 173 | 
    |  2 | Fruit   |   Orange | Sanguine  | 285 | 
    ---------------------------------------------
    Pouvez vous m'aidez ?


    merci

    PoichOU

  2. #2
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Select Famille,Type,Sous_type,SUm(Qte)
    From ...
    Group by Famille,Type,Sous_type
    Order by Famille,Type,Sous_type
    S'il vous plait l'indication [débutant] ne sert à rien dans le titre et donc totalement superflue.
    [SQL] serait plus approprié
    Rédacteur Oracle (Oracle ACE)
    Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
    Je ne réponds pas aux questions techniques par MP
    Blogs: Forms-PL/SQL-J2EE - Forms Java Beans

  3. #3
    Membre habitué Avatar de PoichOU
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juillet 2006
    Messages : 328
    Points : 161
    Points
    161
    Par défaut
    Merci beaucoup pour la réponse aussi rapide,

    Je voudrais faire la même requête avec des fonctions analytiques, j'ai essayé la requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT Famille,Type,Sous_type,(Sum(Qte) over(partition BY(Famille,Type,Sous_type)) as Qte
    FROM TABLE_QTE_MOIS
    ça marche presque, le resultat est le bon mais j'ai plusieurs fois ce résultat.

    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
    20
    21
    22
    23
    24
    ----------------------------------------
    | Famille |   Type   | Sous_type | Qte |
    ----------------------------------------
    | Fruit   |   Orange | Mandarine | 173 | 
    | Fruit   |   Orange | Mandarine | 173 | 
    | Fruit   |   Orange | Mandarine | 173 | 
    | Fruit   |   Orange | Mandarine | 173 | 
    | Fruit   |   Orange | Mandarine | 173 | 
    | Fruit   |   Orange | Mandarine | 173 | 
    | Fruit   |   Orange | Mandarine | 173 | 
    | Fruit   |   Orange | Mandarine | 173 | 
    | Fruit   |   Orange | Mandarine | 173 | 
    | Fruit   |   Orange | Mandarine | 173 | 
    | Fruit   |   Orange | Sanguine  | 285 | 
    | Fruit   |   Orange | Sanguine  | 285 | 
    | Fruit   |   Orange | Sanguine  | 285 | 
    | Fruit   |   Orange | Sanguine  | 285 | 
    | Fruit   |   Orange | Sanguine  | 285 | 
    | Fruit   |   Orange | Sanguine  | 285 | 
    | Fruit   |   Orange | Sanguine  | 285 | 
    | Fruit   |   Orange | Sanguine  | 285 | 
    | Fruit   |   Orange | Sanguine  | 285 | 
    | Fruit   |   Orange | Sanguine  | 285 | 
    ----------------------------------------
    Peux-tu m'aider ?

    PoichOU

  4. #4
    Membre éprouvé Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Points : 931
    Points
    931
    Par défaut
    et juste avec
    Il est plus facile de voir les signes avant-coureurs après coup que l'inverse !

    Yorglaa

  5. #5
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    D'un autre côté les fonctions analytiques ne sont pas adaptées ici, il vaut mieux utiliser les fonctions d'aggrégation.
    Un problème sans solution est un problème mal posé

    Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.

  6. #6
    Membre habitué Avatar de PoichOU
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juillet 2006
    Messages : 328
    Points : 161
    Points
    161
    Par défaut
    Merci Yorglaa pour ta réponse.

    plaineR, pourrais-tu me dire pourquoi les fonctions analytiques ne sont pas adaptées ici ? je pensais que c'était toujours mieux que les aggrégation, surtout au niveau des performances.


    PoichOU

  7. #7
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Citation Envoyé par PoichOU
    pourrais-tu me dire pourquoi les fonctions analytiques ne sont pas adaptées ici
    Parce que tu cherches à faire un regroupement. Si tu ajoutes un "select distinct", cela revient à faire un group by (donc un regroupement).

    Les fonctions analytiques sont mieux si tu avais voulu avoir comme résultat, par exemple, sur chaque ligne la somme des quantités par famille (en affichant malgré tout le type et le sous type).
    Un problème sans solution est un problème mal posé

    Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.

  8. #8
    Membre habitué Avatar de PoichOU
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juillet 2006
    Messages : 328
    Points : 161
    Points
    161
    Par défaut
    ok merci de l'info

    PoichOU

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

Discussions similaires

  1. Besoin d'aide pour une requête SQL
    Par p_oum dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 26/11/2009, 09h29
  2. Besoin d'aide pour une requête SQL
    Par sexy-meta dans le forum Langage SQL
    Réponses: 6
    Dernier message: 08/07/2008, 14h36
  3. Besoin d'aide pour une requête SQL
    Par FranckyVegas dans le forum Langage SQL
    Réponses: 7
    Dernier message: 27/05/2008, 20h16
  4. Besoin d'aide pour une requête SQL
    Par Borami dans le forum Langage SQL
    Réponses: 1
    Dernier message: 07/11/2005, 10h33
  5. Besoin d'aide pour une Requête SQL ...
    Par Kokito dans le forum Requêtes
    Réponses: 2
    Dernier message: 07/07/2004, 11h56

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