Requete jointure conditionnelle

Résolu
floxone Messages postés 88 Date d'inscription mardi 19 avril 2005 Statut Membre Dernière intervention 10 août 2007 - 8 août 2007 à 14:16
floxone Messages postés 88 Date d'inscription mardi 19 avril 2005 Statut Membre Dernière intervention 10 août 2007 - 9 août 2007 à 09:23
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

dominique.stock Messages postés 436 Date d'inscription vendredi 7 novembre 2003 Statut Membre Dernière intervention 8 octobre 2008 7
8 août 2007 à 15:14
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
3
floxone Messages postés 88 Date d'inscription mardi 19 avril 2005 Statut Membre Dernière intervention 10 août 2007
9 août 2007 à 09:23
Salut,

Merci beaucoup : cette requête marche à merveille.

A bientôt,

Flo
0
Rejoignez-nous