Requete jointure conditionnelle [Résolu]

floxone 88 Messages postés mardi 19 avril 2005Date d'inscription 10 août 2007 Dernière intervention - 8 août 2007 à 14:16 - Dernière réponse : floxone 88 Messages postés mardi 19 avril 2005Date d'inscription 10 août 2007 Dernière intervention
- 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
Afficher la suite 

2 réponses

Répondre au sujet
dominique.stock 446 Messages postés vendredi 7 novembre 2003Date d'inscription 8 octobre 2008 Dernière intervention - 8 août 2007 à 15:14
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de dominique.stock
floxone 88 Messages postés mardi 19 avril 2005Date d'inscription 10 août 2007 Dernière intervention - 9 août 2007 à 09:23
0
Utile
Salut,

Merci beaucoup : cette requête marche à merveille.

A bientôt,

Flo
Commenter la réponse de floxone

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.