Précédent   Forum des professionnels en informatique > Bases de données > Sybase > Adaptive Server Enterprise
Adaptive Server Enterprise Forum d'entraide concernant Sybase Adaptive Server Enterprise, le dataserver phare de Sybase
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/05/2007, 16h24   #1
Membre régulier
 
Homme dieudonné madishon ngaya
Administrateur de base de données
Inscription : août 2003
Messages : 148
Détails du profil
Informations personnelles :
Nom : Homme dieudonné madishon ngaya
Âge : 48
Localisation : France, Seine et Marne (Île de France)

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

Informations forums :
Inscription : août 2003
Messages : 148
Points : 89
Points : 89
Par défaut [ASE 12.0.0.4] problème de requête

Bonjour,
j'ai une requête ci-dessous:

Code :
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.
dngaya est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2007, 17h38   #2
Rédacteur/Modérateur
 
Inscription : janvier 2006
Messages : 1 301
Détails du profil
Informations personnelles :
Âge : 52

Informations forums :
Inscription : janvier 2006
Messages : 1 301
Points : 1 505
Points : 1 505
Envoyer un message via AIM à mpeppler
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 :
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
mpeppler est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h01.


 
 
 
 
Partenaires

Hébergement Web