Requetes sql avec conditions

Résolu
trader14000 Messages postés 2 Date d'inscription jeudi 23 juin 2011 Statut Membre Dernière intervention 24 juin 2011 - 23 juin 2011 à 18:29
trader14000 Messages postés 2 Date d'inscription jeudi 23 juin 2011 Statut Membre Dernière intervention 24 juin 2011 - 24 juin 2011 à 11:39
Bonjour,

Ca fait plusieurs jours que je bloque sur un requete :
J'aimerai pouvoir faire une seule et même requête, pour obtenir des "Gains" et "Pertes" à partir de la même table "Var" selon une condition (Var <0 ou >0)

SELECT Var AS Gains, Id
FROM Ordre
WHERE (Var > 0) AND (Id = 3)
ORDER BY Id

SELECT Var AS Pertes, Id
FROM Ordre
WHERE (Var < 0) AND (Id = 3)
ORDER BY Id

Mon but, c'est de pouvoir faire un tableau avec les gains et les pertes pour chacun de mes ID. Faut il que je crée un dataset pour chaque ID ?
Dans mon dataset, je n'arrive qu'à avoir soit Perte, soit Gain, mais jamais les deux en même temps.

Merci d'avance

2 réponses

cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
24 juin 2011 à 09:33
Salut,

un truc simple que tu dois pouvoir mettre en place :

SELECT Var AS Gains, null AS Pertes, Id 
  FROM Ordre 
 WHERE (Var > 0) AND (Id = 3) 
 ORDER BY Id 
      UNION ALL
SELECT null as Gains, Var AS Pertes, Id 
  FROM Ordre 
 WHERE (Var < 0) AND (Id = 3) 
 ORDER BY Id 


(je sais pas si 'null AS fname' est correct sous SQL Server, sinon mettre 0 [zéro])

Tu peux également utiliser les CASE WHEN/IIF (je sais pas quelle méthode fonctionne sous SQL Server, mais c'est un SGBD assez bien documenté, tu devrais pas avoir de souci à trouver ton bonheur).
3
trader14000 Messages postés 2 Date d'inscription jeudi 23 juin 2011 Statut Membre Dernière intervention 24 juin 2011
24 juin 2011 à 11:39
Merci !!
0
Rejoignez-nous