Bonjour,
Je me remets difficillement au SQL et vous sollicite pour une requête sur laquelle je me casse la tête...
Avant toute chose, je précise simplement que je joins un fichier contenant une mini BDD Access récapitulant ce que je souhaite. C'est très parlant et je ferai référence à cette base dans la suite de ce message.
J'ai 3 tables :
- tMapping : une table de références entre le code du portefeuille et le nom du portefeuille
- tToday : une table contenant les ventes d'instruments en date d'aujourd'hui avec le code du portefeuille. Une catégorie d'instrument possède un seul portefeuille et plusieurs ventes pour un même instrument peuvent être inscrites.
- tYTD : même chose que la table précédente sauf qu'il y a toutes les données historiques.
Je cherche à avoir une table à 2 champs qui ressemble à :
tMapping.fNamePF | ROUND ( (SUM(tToday.fResult) - (SUM(tYTD.fResult) ) ,0)
Avec uniquement le MAX(tYTD.fDate) pour (SUM(tYTD.fResult)) et pour tous les portefeuilles existants ainsi que leurs parents, même s'ils sont NULL.
Vous trouverez dans le fichier joint des brèches de requêtes, je ne sais pas si elles vous seront utiles...
Pour résumer, il s'agît d'avoir une requête donnant la colonne 1 de la requête 3 (ou 4, puisqu'elles sont identiques) avec en seconde colonne, colonne 2 de la requête 3 moins colonne 2 de la requête 4.
Cela paraît du charabia mais l'exemple est très parlant, je vous assure
Merci mille fois par avance pour votre aide !
Je suis a votre disposition pour plus d'informations si nécessaire.
Cdt,
Partager