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 :

problème requete, nombres résultats limités


Sujet :

Langage SQL

  1. #1
    Rédacteur/Modérateur

    Avatar de dsr57
    Homme Profil pro
    Analyste programmeur senior
    Inscrit en
    Octobre 2003
    Messages
    1 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Analyste programmeur senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 139
    Points : 4 681
    Points
    4 681
    Billets dans le blog
    22
    Par défaut problème requete, nombres résultats limités
    Bonjour à tous,

    J'ai 2 tables :
    Machine (ID), ID est clé
    Compteur(ID,Date,cpt) ID+Date est clé

    Exemple de données :
    Machine
    M1
    M2
    M3
    M4

    Compteur
    M1 01/01/2007 10
    M1 02/01/2007 20
    M1 03/01/2007 30
    M1 04/01/2007 40
    M2 01/01/2007 10
    M2 01/01/2007 37
    M4 01/01/2007 10
    M4 02/01/2007 20
    M4 07/01/2007 50
    M4 15/01/2007 60
    M4 19/01/2007 70
    M4 20/01/2007 80
    M4 21/01/2007 80
    M4 29/01/2007 80
    M4 02/02/2007 90

    Ce que je veux, c'est les 3 derniers relevés pour chaque machine, en 1 requête SQL.
    Dans l'exemple ça serait
    M1 02/01/2007 20
    M1 03/01/2007 30
    M1 04/01/2007 40
    M2 01/01/2007 10
    M2 01/01/2007 37
    M3 NULL NULL
    M4 21/01/2007 80
    M4 29/01/2007 80
    M4 02/02/2007 90

    merci d'avance.
    ------------------------------------------------------------------------------------------------------------------------------------------
    Mon message vous a aidé, pensez à remercier . La discussion est résolue, n'oubliez pas le tag
    ------------------------------------------------------------------------------------------------------------------------------------------
    Site perso : Formation, Expérience, Réalisations, ...
    Blog : Le Blog de DSR57 - Programmation WinDev

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    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 080
    Points : 30 803
    Points
    30 803
    Par défaut
    Si tu nous précisais le SGBD que tu utilises et sa version, cela permettrait d'apporter une réponse plus adaptée...
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Rédacteur/Modérateur

    Avatar de dsr57
    Homme Profil pro
    Analyste programmeur senior
    Inscrit en
    Octobre 2003
    Messages
    1 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Analyste programmeur senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 139
    Points : 4 681
    Points
    4 681
    Billets dans le blog
    22
    Par défaut
    sql server 2000
    ------------------------------------------------------------------------------------------------------------------------------------------
    Mon message vous a aidé, pensez à remercier . La discussion est résolue, n'oubliez pas le tag
    ------------------------------------------------------------------------------------------------------------------------------------------
    Site perso : Formation, Expérience, Réalisations, ...
    Blog : Le Blog de DSR57 - Programmation WinDev

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    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 080
    Points : 30 803
    Points
    30 803
    Par défaut
    Nous savons alors qu'on peut utiliser les sous-requêtes mais pas les fonctions de regroupement analytiques.

    Comme ça peut-être ? (à optimiser certainement)
    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
    SELECT  m.id
        ,   c.date
        ,   c.cpt
    FROM    machine     AS m
        LEFT JOIN
            compteur    as c
            ON  m.id    = c.id
        LEFT JOIN
            (   SELECT  c1.id
                    ,   c1.date
                    ,   COUNT(c2.*) AS nblig
                FROM    compteur    AS c1
                    LEFT JOIN
                        compteur    AS c2
                        ON  c1.id   = c2.id
                        AND c1.date >= c2.date
                HAVING  nblig <= 3
            )   AS  o
            ON  c.id    = o.id
            AND c.date  = o.id
    ;
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

Discussions similaires

  1. Problème Requete VBA quand pas de précédents résultats
    Par Pimprenelle dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 10/06/2013, 15h10
  2. Problème Requete LIMIT
    Par Dinow dans le forum Requêtes
    Réponses: 2
    Dernier message: 05/03/2008, 11h45
  3. Réponses: 3
    Dernier message: 15/07/2005, 17h58
  4. problème requete sql
    Par Fred- dans le forum ASP
    Réponses: 2
    Dernier message: 13/06/2004, 02h20
  5. Problème Requete SQL et QuickReport
    Par arnaud_verlaine dans le forum C++Builder
    Réponses: 7
    Dernier message: 07/01/2004, 09h31

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