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

Designer Oracle Discussion :

prendre le max d'une date


Sujet :

Designer Oracle

  1. #1
    Membre �clair�
    Inscrit en
    Avril 2006
    Messages
    283
    D�tails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 283
    Par d�faut prendre le max d'une date
    Bonjour,

    gr�ce � mon interface j'aimerai pouvoir r�cup�rer la ligne de la derni�re modification d'un libell�
    j'ai un num�ro de contrat et son libell�, le libell� peut changer et � chaque changement j'ai la date de modification. Je prends donc la plus r�cente

    j'ai pos� un filtre sur la date en prenant le max
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    Select max(date_)
    FROM contrat
    le probl�me est qu'il me prend uniquement le contrat dont la date est la plus r�cente, donc dans mon tableau j'ai qu'une seule ligne
    alors que je veux le dernier libell� de contrat pour chaque contrat
    il manque la notion de group by, mais comment le pr�ciser dans le designer?

    what's the problem???

  2. #2
    Membre Expert Avatar de ojo77
    Homme Profil pro
    Architecte de base de donn�es
    Inscrit en
    D�cembre 2010
    Messages
    680
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 51
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Architecte de base de donn�es
    Secteur : High Tech - Produits et services t�l�com et Internet

    Informations forums :
    Inscription : D�cembre 2010
    Messages : 680
    Par d�faut
    Le probl�me est que votre filtre retourne le maximum pour la date sur l'ensemble de la table contrat. Visiblement vous souhaitez le maximum de la date pour chaque contrat.

    Le filtre doit donc int�grer une contrainte sur le num�ro de contrat (ou l'identifiant de contrat quel qu'il soit).
    Code SQL : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    Select * from  contrat e
    where e.date in 
     (SELECT max(date)
      FROM contrat c
      where c.id=e.id )

  3. #3
    Expert confirm�
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de donn�es
    Inscrit en
    D�cembre 2005
    Messages
    2 944
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activit� : Administrateur de base de donn�es
    Secteur : Finance

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 2 944
    Par d�faut
    where in (max) c'est un peu moyennageux, non?

    bon, je ne sais pas si tu acc�s aux analytiques, si oui alors

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    select * from 
    (select rank() over (partition by id order by dat desc) r,e.* from contrat e) 
    where r=1

Discussions similaires

  1. max pour une date
    Par Papy214 dans le forum G�n�ral JavaScript
    R�ponses: 7
    Dernier message: 13/08/2010, 09h40
  2. Select avec max sur une date
    Par olibara dans le forum Requ�tes
    R�ponses: 10
    Dernier message: 06/07/2010, 07h18
  3. Max a une date precise mais doit retourner aussi si dernier
    Par cloche44 dans le forum Langage SQL
    R�ponses: 3
    Dernier message: 29/01/2007, 09h51
  4. fonction MAX sur une date
    Par Poisson59 dans le forum MS SQL Server
    R�ponses: 14
    Dernier message: 08/09/2006, 14h59
  5. [oracle 9i] Max d'une date
    Par Requin15 dans le forum Langage SQL
    R�ponses: 7
    Dernier message: 09/06/2006, 15h09

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