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

Adaptive Server Enterprise Sybase Discussion :

[ASE 12.0.0.4] problème de requête


Sujet :

Adaptive Server Enterprise Sybase

  1. #1
    Membre régulier
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2003
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2003
    Messages : 148
    Points : 118
    Points
    118
    Par défaut [ASE 12.0.0.4] problème de requête
    Bonjour,
    j'ai une requête ci-dessous:

    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
     
    SELECT    distinct dbo.CollatTrades.GroupID,
                      dbo.CollateralAgreements.CollatAgreementID CollatAgreementID,
                            (select Sum(Notional) from CollatTrades,IndexRates
                                    where CollatTrades.CcyID + ' EUR'  = IndexRates.IndexID
                                    and IndexRates.RateDate = (select distinct convert(Char(24),UpdateTS,112) from Summitbb)
                                    --and IndexRates.RateDate = '2007052'
                                    and  GroupID=dbo.CollatTrades.GroupID) MTLastAPDMCash,
                                    dbo.CollatTrades.DateTransitStart DateLastAdpmCash
    FROM         dbo.CollatTrades INNER JOIN
                          dbo.CollateralAgreements ON dbo.CollatTrades.CollatAgreementID = dbo.CollateralAgreements.CollatAgreementID INNER JOIN
                          dbo.MasterAgreements ON dbo.CollateralAgreements.MasterAgreementID = dbo.MasterAgreements.MasterAgreementID
    WHERE   dbo.MasterAgreements.AgreementType in('REPOS IN FINE','REPOS SOM','REPOS')
    and  dbo.CollatTrades.ProductID <> 'Repo'
    Group by dbo.CollateralAgreements.CollatAgreementID
    having dbo.CollatTrades.GroupID = Max(dbo.CollatTrades.GroupID)
    go
    En le lançant, je reçois les lignes suivantes:

    GroupID CollatAgreementID MTLastAPDMCash
    DateLastAdpmCash
    ----------- ------------------------- --------------------
    --------------------------
    36643597 ABN Amro REPO GMRA 38411635672.130005
    May 23 2007 12:00AM
    36643599 ACM Vie SA REPO AFTB 38411635672.130005
    May 23 2007 12:00AM
    36643600 ACM Vie SAM REPO AFTB 38411635672.130005
    May 24 2007 12:00AM
    36648619 AXA France IARD REPO AFTB 38411635672.130005
    May 30 2007 12:00AM
    36643609 Axa Corp S. Ass REPO AFTB 38411635672.130005
    May 17 2007 12:00AM
    36644866 Axa France Vie REPO AFTB 38411635672.130005
    May 28 2007 12:00AM


    Le problème est que sur la troixième colonne (MTLastAPDMCash), nous avons les mêmes valeurs, c'est que qu'on ne s'attends pas.
    Est ce que quelqu'un peut me dire ce qui ne va pas sur la requête.

    Merci.

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Points : 1 828
    Points
    1 828
    Par défaut
    Je n'ai pas passé très longtemps à analyser cette requête, mais il me semble que la colonne MTLastAPDMCash est effectivement invariant, puisque

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT Sum(Notional) FROM CollatTrades,IndexRates
                                    WHERE CollatTrades.CcyID + ' EUR'  = IndexRates.IndexID
                                    AND IndexRates.RateDate = (SELECT DISTINCT convert(Char(24),UpdateTS,112) FROM Summitbb)
                                    --and IndexRates.RateDate = '2007052'
                                    AND  GroupID=dbo.CollatTrades.GroupID
    est indépendant du reste de la requête (aucune jointure avec les autres tables).

    Michael
    Michael Peppler
    Membre de TeamSybase - www.teamsybase.com

    "A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson

Discussions similaires

  1. Réponses: 19
    Dernier message: 27/08/2003, 15h32
  2. problème de requête avec jointures
    Par tinhat dans le forum Requêtes
    Réponses: 7
    Dernier message: 11/08/2003, 10h33
  3. Problème de requètes concurentes
    Par Emmanuel.G dans le forum XMLRAD
    Réponses: 3
    Dernier message: 08/08/2003, 16h51
  4. Réponses: 2
    Dernier message: 16/07/2003, 14h40
  5. Problème dans requête avec count()
    Par BadFox dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/07/2003, 18h02

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