Table champs calculés

devba77
Messages postés
22
Date d'inscription
samedi 22 avril 2006
Statut
Membre
Dernière intervention
20 août 2006
- 2 mai 2006 à 18:18
devba77
Messages postés
22
Date d'inscription
samedi 22 avril 2006
Statut
Membre
Dernière intervention
20 août 2006
- 3 mai 2006 à 14:33
Bonjour,
j'ai une table qui regroupe des identifiants avec des valeurs:
tableC
Idcouleur|Idvoiture|Idperiode|Valeur
1| 4| 1| 16
1| 4| 3| 15
1| 43| 1| 789
1| 43| 3| 90
2| 4| 1| 10
2| 4| 3| 25
2| 43| 1| 80
2| 43| 3| 20


Je voudrai créer une nouvelle table en faisant des champs calculés de la table ci-dessus


voici ce que j'aimerai obtenir:

IdCouleurRes |ValRougePrintemps
1 |Valeur(Idcouleur=1 et Idperiode=1) + Valeur(Idcouleur=2 et Idperiode=3)


Comment puis-je faire cela ???

Merci à tous pour votre aide

4 réponses

cs_Jack
Messages postés
14007
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
80
2 mai 2006 à 19:28
Salut
Tout (ou presque) est faisable.
Ta demande n'est pas claire :
1  |Valeur(Idcouleur=1 et Idperiode=1) + Valeur(Idcouleur=2 et Idperiode=3)
Est-ce que ça veut dire que tu prends comme conditions les termes entre parenthèses ?

Réexplique ce que tu veux faire en français :
Donne un exemple que ce que (pour toi) devrait donner "Valeur(Idcouleur=1 et Idperiode=1)"

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accro
0
cs_Jack
Messages postés
14007
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
80
2 mai 2006 à 19:30
Précise nous aussi dans quel langage tu veux faire ça (VB6, VB.Net ou VBA de Access, Word et Excel)
0
devba77
Messages postés
22
Date d'inscription
samedi 22 avril 2006
Statut
Membre
Dernière intervention
20 août 2006

3 mai 2006 à 11:43
Salut, dsl pour les oublis, je vais essayé d'âtre plus clair.
J'avais essayé de prendre un exemple plus simple mais en fait, il paraît plus complexe...
JE SUIS SUR ACCESS

ALors voici mon pb:

J'ai actuellement la table suivante:

DataComptables

IdIndicateur|IdFiliale|Code|IdPeriode|Annee|Valeur
1 |4|Cod1|1|2005|15
1 |4|Cod1|3|2005|20
1 |43| Cod2|1|2005|25
1 |43 |Cod2|3|2005|75

2 |4|Cod1|1|2005|30
2 |4|Cod1|3|2005|45
2 |43|Cod2|1|2005|90
2 |43|Cod2|3|2005|10


J'aimerai obtenir la table suivante:

NouvelIndicateur|IdFiliale|Code|IdPeriode|Annee|Valeur
3|4|Cod1|1|2005|45(15+30)
3|4|Cod1|3|2005|65(20+45)
3|43|Cod2|1|2005|115(25+90)
3|43 |Cod2|3|2005|85(75+10)

J'espère que vous pourrez m'aider,

D'avance merci...
0
devba77
Messages postés
22
Date d'inscription
samedi 22 avril 2006
Statut
Membre
Dernière intervention
20 août 2006

3 mai 2006 à 14:33
J'ai réussi à résoudre mon pb avec la requête suivante:

SELECT IdFiliale,Code,IdPeriode,Annee,SUM(valeur)
FROM DataComptables
WHERE IdIndicateur IN (1,2)
GROUP BY IdFiliale,Code,IdPeriode,Annee;

j'ai encore le pb suivant qui se présente à moi:

je dois additionner 2 indicateurs comme dans la requête du dessus mais je dois aussi en soustraire....

Ex (je sais que la syntaxe est incorrect mais c'est afin de mieux faire comprendre...)

SELECT IdFiliale,Code,IdPeriode,Annee,SUM(valeur)
FROM DataComptables
WHERE IdIndicateur IN (1,2) - (3,4) -> sous-entendu (1+2) - (3+4)
GROUP BY IdFiliale,Code,IdPeriode,Annee;

Comme pourrait-on arranger la requête ?

merci
0