Requete jointure conditionnelle [Résolu]

Signaler
Messages postés
88
Date d'inscription
mardi 19 avril 2005
Statut
Membre
Dernière intervention
10 août 2007
-
Messages postés
88
Date d'inscription
mardi 19 avril 2005
Statut
Membre
Dernière intervention
10 août 2007
-
Salut,


J'ai besoin de faire une requête de ce genre s'il vous plaît :


SELECT SUM (v1 * (t2.v2+t2.v3+t3.v4) / v5)
FROM table1 t1, table2 t2
WHERE t1.fk = t2.pk
AND [...]


C'est pour la suite que tout se complique :


Je dispose dans t1 de 3 booléens qui indiquent s'il faut respectivement prendre v2,v3 et v4 dans l'autre table pour la somme.


J'aimerai donc que la requête s'adapte à ces booléens :


Si t1.v2 1 AND t1.v3 1 AND t1.v4 = 1 alors t2.v2+t2.v3+t3.v4 Sinon...


Je ne sais pas si cela est possible avec une requête SQL : mon Transact-SQL n'est pas encore au point.


Pour info, cette requête est lancée dans une procédure stockée.


Merci d'avance pour votre coup de main.


Flo

2 réponses

Messages postés
436
Date d'inscription
vendredi 7 novembre 2003
Statut
Membre
Dernière intervention
8 octobre 2008
3
Bonjour,
select sum(V1* (case when t1.v2=1 and t1.v4=1 and t1.v3=1 then t2.v2+t2.v3+t3.v4 else 
  ( case when .... then .... else 
 (  case when .... then .... else ...end)
   end)
)/v5)....

Dom
Messages postés
88
Date d'inscription
mardi 19 avril 2005
Statut
Membre
Dernière intervention
10 août 2007

Salut,

Merci beaucoup : cette requête marche à merveille.

A bientôt,

Flo