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

SQL Oracle Discussion :

selection par type et par id


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de arti2004
    Inscrit en
    Février 2004
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 253
    Par défaut selection par type et par id
    Bonjour,
    J'ai une table "client_achat" avec comme clé "Id" " l'id de l'achat" et qui contient les informations sur les achats effectués par des clients "idcli" sur des types articles.
    j'aimerai recuperer de la table : pour chaque client et pour un type d'article le dernier achat effectue

    exemple:j'ai:

    Id1 idcli1 article1 date1
    Id2 idcli1 article2 date2
    Id3 idcli1 article1 date3
    Id4 idcli2 article1 date1
    Id5 idcli2 article3 date5


    resultat désiré sachant que (date1> date3)

    Id1 idcli1 article1 date1
    Id2 idcli1 article2 date2

    Id4 idcli2 article1 date1
    Id5 idcli2 article3 date5

    Comment faire ?
    Merci

  2. #2
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Essaye quelque chose dans cet esprit là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT * FROM
    (select id, type, article, dateachat,RANK() OVER (PARTITION BY idcli ORDER BY dateachat DESC) rang
    FROM client_achat)
    WHERE rang=1

  3. #3
    Membre éclairé Avatar de arti2004
    Inscrit en
    Février 2004
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 253
    Par défaut
    Re
    ça ne marche pas . on fait ce que je veux c d'afficher un seul exemplaire du type article (pour le meme client ) si il a effectué l'achat du meme article en deux dates differentes (je prends la plus recente).
    Merci

  4. #4
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Ouais, enfin, je donne l'idée moi, à toi d'adapter selon ton besoin.

  5. #5
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Suffit de rajouter l'article dans la partition.

  6. #6
    Membre éclairé Avatar de arti2004
    Inscrit en
    Février 2004
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 253
    Par défaut
    Re
    ça ne marche pas . on fait ce que je veux c d'afficher un seul exemplaire du type article (pour le meme client ) si il a effectué l'achat du meme article en deux dates differentes (je prends la plus recente).
    Merci

  7. #7
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Citation Envoyé par arti2004 Voir le message
    Re
    ça ne marche pas . on fait ce que je veux c d'afficher un seul exemplaire du type article (pour le meme client ) si il a effectué l'achat du meme article en deux dates differentes (je prends la plus recente).
    Merci

    plutôt qu'un bête "ça ne marche pas", les scripts de création de table et insertion des données pour travailler sur un exemple concret seraient plus constructif

  8. #8
    Expert confirmé
    Homme Profil pro
    Big Data / Freelance EURL
    Inscrit en
    Mars 2003
    Messages
    2 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Big Data / Freelance EURL

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 124
    Par défaut
    et ça ? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT *
    FROM client_achat
    WHERE (idcli ,article,date_achat)
    IN   (SELECT idcli, article,MAX(date_achat)
          FROM client_achat
          GROUP BY  idcli, article
          )

  9. #9
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 354
    Par défaut
    Bonjour,
    Essaye cette requête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    select  max(id) keep (dense_rank last order by date_achat) id,
            idcli,
            article,
            max(date_achat) date_achat
    from client_achat
    group by idcli, article

Discussions similaires

  1. Selection des lignes MAXDATES par Types de situations
    Par ticain dans le forum Langage SQL
    Réponses: 5
    Dernier message: 26/10/2012, 17h09
  2. [Doctrine] Tris par differents types + limite par type
    Par bylka dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 16/08/2012, 12h16
  3. [XL-2010] Objets par référence / création par type
    Par EJO64 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/12/2010, 09h50
  4. Comment trier des fichiers par types et par tailles?
    Par xXO--Hades--OXx dans le forum Android
    Réponses: 3
    Dernier message: 07/12/2010, 12h09
  5. Réponses: 0
    Dernier message: 23/04/2010, 14h23

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