Combinaison de select
pagnah
Messages postés
18
Date d'inscription
Statut
Membre
Dernière intervention
-
Heremion Messages postés 538 Date d'inscription Statut Membre Dernière intervention -
Heremion Messages postés 538 Date d'inscription Statut Membre Dernière intervention -
Bonsoir,
je vais aller droit au but, j'ai une table 'correct' avec 3 champs :
NUM_DEBITE; MT_DEBITE; C_REST
je voudrais fusionner ces deux select à savoir :
SELECT MT_DEBITE from correct WHERE MT_DEBITE>=C_REST
SELECT C_REST from correct WHERE MT_DEBITE<=C_REST
et avoir un seul champ avec la fusion des résultat des deux champs, c'est à dire à chaque ligne lu, il fait la comparaison et donne selon les deux en fonction du select.
J'ai essayer avec union mais çà ne me donne pas le résultat que je voudrais, j'aimerais bien avoir un coup de main afin que je puisse avancer dans mon projet, merci bien à tous.
je vais aller droit au but, j'ai une table 'correct' avec 3 champs :
NUM_DEBITE; MT_DEBITE; C_REST
je voudrais fusionner ces deux select à savoir :
SELECT MT_DEBITE from correct WHERE MT_DEBITE>=C_REST
SELECT C_REST from correct WHERE MT_DEBITE<=C_REST
et avoir un seul champ avec la fusion des résultat des deux champs, c'est à dire à chaque ligne lu, il fait la comparaison et donne selon les deux en fonction du select.
J'ai essayer avec union mais çà ne me donne pas le résultat que je voudrais, j'aimerais bien avoir un coup de main afin que je puisse avancer dans mon projet, merci bien à tous.
5 réponses
Pagnah,
Si un Union ne te conviens pas, montre moi un exmple de ce que tu désires en sortie à partir de cet exemple
DROE
Si un Union ne te conviens pas, montre moi un exmple de ce que tu désires en sortie à partir de cet exemple
SQL> SELECT * FROM CORRECT; NUM_DEBITE MT_DEBITE C_REST ---------- ---------- ---------- 1 100 101 2 20 19 3 200 150 SQL>
SQL> SELECT MT_DEBITE AS "Transaction" FROM scott.correct WHERE MT_DEBITE>=C_REST 2 UNION 3 SELECT C_REST AS "Transaction" FROM scott.correct WHERE MT_DEBITE<=C_REST; Transaction ----------- 20 101 200 SQL>
DROE
bonjour, voici un peu ce que je voudrais :
NUM_DEBITE MT_DEBITE C_REST
---------- ---------- ----------
1 100 101
2 19 20
3 200 150
4 100 90
5 8 19
6 200 120
et je voudrais avoir ceci comme résultat tel quel avec les doublons:
Transaction
-----------
100
20
200
100
19
200
qd je fais
SELECT MT_DEBITE AS "Transaction" FROM correct WHERE MT_DEBITE>=C_REST
2 UNION
3 SELECT C_REST AS "Transaction" FROM correct WHERE MT_DEBITE<=C_REST;
les doublons sont supprimés et quand je fais avec UNION ALL les reusltat sont dupliqués, je ne sais pas si tu arriveras à comprendre avec tout mon charabia là, merci bien
NUM_DEBITE MT_DEBITE C_REST
---------- ---------- ----------
1 100 101
2 19 20
3 200 150
4 100 90
5 8 19
6 200 120
et je voudrais avoir ceci comme résultat tel quel avec les doublons:
Transaction
-----------
100
20
200
100
19
200
qd je fais
SELECT MT_DEBITE AS "Transaction" FROM correct WHERE MT_DEBITE>=C_REST
2 UNION
3 SELECT C_REST AS "Transaction" FROM correct WHERE MT_DEBITE<=C_REST;
les doublons sont supprimés et quand je fais avec UNION ALL les reusltat sont dupliqués, je ne sais pas si tu arriveras à comprendre avec tout mon charabia là, merci bien
Salut,
c'est quel SQL ? car tu as peut-être des prédicats de comparaison utilisables dans un SELECT.
c'est quel SQL ? car tu as peut-être des prédicats de comparaison utilisables dans un SELECT.
Bonjour
Si c'est avec mySQL, tu as la fonction GREATEST :
Si tu n'as pas de fonction GREATEST, tu peux la simuler avec la valeur absolue et un tout petit peu d'arithmétique :
Si c'est avec mySQL, tu as la fonction GREATEST :
SELECT GREATEST(MT_DEBITE,C_REST) FROM correct
Si tu n'as pas de fonction GREATEST, tu peux la simuler avec la valeur absolue et un tout petit peu d'arithmétique :
SELECT (MT_DEBITE+C_REST + ABS(MT_DEBITE-C_REST))/2 FROM correct
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question