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 :

requete avec restriction sur la quantité


Sujet :

Langage SQL

  1. #1
    Membre éprouvé
    Inscrit en
    Avril 2006
    Messages
    853
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 853
    Points : 929
    Points
    929
    Par défaut requete avec restriction sur la quantité
    salut

    j'ai une table nommé: tmp_company_category avec les champs
    company_id et category_id


    j'ai une table nommé: tmp_document avec les champs
    document_no et category_id

    une company peut avoir plusieurs category
    un document fait partie d'une seule catogegory

    comment faire pour prendre au plus 5 documents par company_id?

    merci

  2. #2
    Membre confirmé Avatar de LinuxUser
    Inscrit en
    Avril 2007
    Messages
    857
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 857
    Points : 594
    Points
    594
    Par défaut
    Excuse moi, est ce que tu peux préciser ta question?
    Qu'est ce que tu enetend par "prendre au plus 5 categories"?

  3. #3
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 109
    Points : 28 437
    Points
    28 437
    Par défaut
    Citation Envoyé par robert_trudel
    comment faire pour prendre au plus 5 documents par company_id?
    La première question à se poser est :
    Sur quel critère sélectionner les documents à retenir ? Les 5 premiers par ordre alphabétique ? ou par identifiant ? ou les 5 derniers ? Au hasard ?

  4. #4
    Membre éprouvé
    Inscrit en
    Avril 2006
    Messages
    853
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 853
    Points : 929
    Points
    929
    Par défaut
    par ordre alphabetique

  5. #5
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 109
    Points : 28 437
    Points
    28 437
    Par défaut
    Si ton SGBD (que tu ne précises pas !) prend en charge les fonctions de regroupement analytiques :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SELECT    X.company_id
        ,    X.document_no
    FROM    (    SELECT    C.company_id
                    ,    D.document_no
                    ,    ROW_NUMBER() OVER(ORDER BY D.document_no PARTITION BY C.company_id) as NUM
                FROM    tmp_company_category    as C
                    INNER JOIN
                        tmp_document    as D
                        ON    C.category_id = D.category_id
            )    as X
    WHERE    X.NUM <= 5
    ;

  6. #6
    Membre éprouvé
    Inscrit en
    Avril 2006
    Messages
    853
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 853
    Points : 929
    Points
    929
    Par défaut
    j'utilise oracle

  7. #7
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 249
    Points : 1 745
    Points
    1 745
    Par défaut fonction de fenetrage et de ranking.
    salut,

    les fonctions de regroupement analytique existe sur oracle 8.

  8. #8
    Membre éprouvé
    Inscrit en
    Avril 2006
    Messages
    853
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 853
    Points : 929
    Points
    929
    Par défaut
    après test de la requête de al1_24

    il semble qu'il faut inverser le order by et le partition

    ensuite oracle spécifie qu'il manque une parenthèse droite après le
    tmp_company_category

  9. #9
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 249
    Points : 1 745
    Points
    1 745

Discussions similaires

  1. requete avec filtre sur la date
    Par petitours dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 12/02/2007, 11h49
  2. Requete avec paramètres sur formulaire
    Par eddyG dans le forum Access
    Réponses: 1
    Dernier message: 24/10/2006, 17h11
  3. [Access] Requête (avec AND) sur 1 meme champ d'une table
    Par jeje22 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 11/09/2006, 22h59
  4. requete avec tri sur date erronée
    Par olivll dans le forum Access
    Réponses: 11
    Dernier message: 20/10/2005, 15h45
  5. Requete avec filtre sur un champ
    Par podz dans le forum Langage SQL
    Réponses: 7
    Dernier message: 09/02/2005, 14h37

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