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

Sybase Discussion :

Dernier element uniquement


Sujet :

Sybase

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 6
    Points : 8
    Points
    8
    Par défaut Dernier element uniquement
    Bonjour,

    j'ai un soucis avec une procédure stockée qui doit ramener un solde pour chaque fin de mois entre deux dates.

    Par exmple :
    Je veux connaitre le soldede chaque mois entre le 01/01/2008 et le 31/12/2008. Or dans ma table sybase, j'ai pour chaque mois différents enregistrements.

    Table Solde
    Compte Solde MoisSolde (format DateTime)
    111111 10,00 Jan 1 2008 12:00AM
    111111 11,00 Jan 2 2008 12:00AM
    111111 12,00 Jan 5 2008 12:00AM
    111111 100,00 Jan 31 2008 12:00AM
    111111 10,00 Dec 1 2008 12:00AM
    111111 11,00 Dec 2 2008 12:00AM
    111111 12,00 Dec 5 2008 12:00AM
    111111 100,00 Dec 31 2008 12:00AM
    222222 10,00 Jan 1 2008 12:00AM
    222222 11,00 Jan 2 2008 12:00AM
    222222 12,00 Jan 5 2008 12:00AM
    222222 100,00 Jan 31 2008 12:00AM

    Le resultat serait donc Compte 11111 100,00 euros pour janvier et 100,00 pour decembre

    Pourriez-vous m'expliquer comment faire..

    Merci

  2. #2
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Peux-tu donner plus de détails?
    La procédure prendra quoi comme paramètre?
    Veux tu l'utiliser comme étant un batch?
    Est ce qu’elle doit retourner juste la dernière opération d'un compte dans chaque moi?

  3. #3
    Membre émérite Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Points : 2 845
    Points
    2 845
    Par défaut
    Salut !

    Si ta version supporte les fonctions analytiques, tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT *
    FROM (
    SELECT a.*, ROW_NUMBER() OVER(PARTITION BY compte ORDER BY soldemois DESC) rk
    FROM TaTable a) t
    WHERE rk = 1

    (c'est ma photo)
    Paku, Paku !
    Pour les jeunes incultes : non, je ne suis pas un pokémon...

    Le pacblog : http://pacmann.over-blog.com/

  4. #4
    Membre habitué
    Inscrit en
    Août 2007
    Messages
    134
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 134
    Points : 168
    Points
    168
    Par défaut
    Bonjour,

    quelle est la version de votre ASE (select @@version)?
    DBA sybase confirmé
    Cherche un poste sur Paris

  5. #5
    Membre expérimenté Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Points : 1 738
    Points
    1 738
    Par défaut
    Ce genre de requete peut vous aider
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SELECT   compte                     ,
             MAX(MoisSolde) AS MoisSolde,
             solde
    FROM     matable
    GROUP BY compte                ,
             DATEPART(mm,MoisSolde),
             DATEPART(yy,MoisSolde)
    HAVING   MoisSolde=MAX(MoisSolde)
    A tester et adapter

    bon courage
    Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)

  6. #6
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 534
    Points : 562
    Points
    562
    Par défaut
    Pour selectionner une valeur parmi une liste de valeurs

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Select top 1
        Compte, Solde, MoisSolde 
    From Solde
    Where
      Compte = '111111 '
      and (MoisSolde between '2009-01-01' and '2009-01-31')

Discussions similaires

  1. [MySQL] dernier element d'une liste
    Par boss_gama dans le forum Langage SQL
    Réponses: 9
    Dernier message: 02/08/2006, 16h16
  2. Connaitre le dernier élément de mysql_fetch_array
    Par H-bil dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 12/06/2006, 15h06
  3. [Swing] JList avec elements uniques
    Par Invité dans le forum Composants
    Réponses: 4
    Dernier message: 28/02/2006, 14h57
  4. N dernier elements
    Par breynard dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 05/12/2005, 09h56
  5. selectionner le dernier element d'une liste box
    Par adilou1981 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 17/03/2005, 10h19

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