PL/SQL recherche du max entre deux colonnes
Misdrhaal
Messages postés
49
Statut
Membre
-
Misdrhaal Messages postés 49 Statut Membre -
Misdrhaal Messages postés 49 Statut Membre -
Bonjour,
je vous ecris car un problème important se pose à moi.
Pour faire simple je fais un planning en C# et j'ai besoin des résultats d'une procédure stockée PL/SQL(Oracle), créée aussi par mes soins.
Cette procédure dans un premier temps renvoie 5 dates(d1,d2,d3,d4,d5)
Cela se fait à l'aide d'un select (assez complexe à cause du nombre detables à consulter mais bon on se limite au renvoi des résultats).
L'idée maintenant c'est d'inclure ce select dans un autre select pour récupérer le max entre les dates d2,d3,d5 (et le min entre d1 et d3).
donc ca s'organisera de la façon suivante
SELECT (?) FROM (mon select de dates )
Que puis-je mettre à la place du (?) pour selectionner les dates max et min désirées?
J'aimerais faire ca avec une fonction MAX, le problème est que SQL ne fait le MAX que d'une seul colonne, et non le max de la fusion entre n colonnes.
donc y a-t-il un moyen simple ou dois-je créer une fonction stockée artisanale? ^^
Voila merci de votre attention et bonne continuation.
je vous ecris car un problème important se pose à moi.
Pour faire simple je fais un planning en C# et j'ai besoin des résultats d'une procédure stockée PL/SQL(Oracle), créée aussi par mes soins.
Cette procédure dans un premier temps renvoie 5 dates(d1,d2,d3,d4,d5)
Cela se fait à l'aide d'un select (assez complexe à cause du nombre detables à consulter mais bon on se limite au renvoi des résultats).
L'idée maintenant c'est d'inclure ce select dans un autre select pour récupérer le max entre les dates d2,d3,d5 (et le min entre d1 et d3).
donc ca s'organisera de la façon suivante
SELECT (?) FROM (mon select de dates )
Que puis-je mettre à la place du (?) pour selectionner les dates max et min désirées?
J'aimerais faire ca avec une fonction MAX, le problème est que SQL ne fait le MAX que d'une seul colonne, et non le max de la fusion entre n colonnes.
donc y a-t-il un moyen simple ou dois-je créer une fonction stockée artisanale? ^^
Voila merci de votre attention et bonne continuation.
A voir également:
- PL/SQL recherche du max entre deux colonnes
- Comment faire deux colonnes sur word - Guide
- Nombre de jours entre deux dates excel - Guide
- Inverser deux colonnes excel - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
2 réponses
Salut!
;-)
HackTrack
SELECT MIN(D1_D3.dMin), MAX(D2_D3_D5.dMax) FROM
(SELECT d1 AS dMin FROM
(SELECT TO_DATE('09-10-2000','dd-mm-yyyy') d1,
TO_DATE('10-10-2000','dd-mm-yyyy') d2,
TO_DATE('11-10-2000','dd-mm-yyyy') d3,
TO_DATE('12-10-2000','dd-mm-yyyy') d4,
TO_DATE('13-10-2000','dd-mm-yyyy') d5
FROM DUAL)
UNION
SELECT d3 AS dMin FROM
(SELECT TO_DATE('09-10-2000','dd-mm-yyyy') d1,
TO_DATE('10-10-2000','dd-mm-yyyy') d2,
TO_DATE('11-10-2000','dd-mm-yyyy') d3,
TO_DATE('12-10-2000','dd-mm-yyyy') d4,
TO_DATE('13-10-2000','dd-mm-yyyy') d5
FROM DUAL)
) D1_D3,
(SELECT d2 AS dMax FROM
(SELECT TO_DATE('09-10-2000','dd-mm-yyyy') d1,
TO_DATE('10-10-2000','dd-mm-yyyy') d2,
TO_DATE('11-10-2000','dd-mm-yyyy') d3,
TO_DATE('12-10-2000','dd-mm-yyyy') d4,
TO_DATE('13-10-2000','dd-mm-yyyy') d5
FROM DUAL)
UNION
SELECT d3 AS dMax FROM
(SELECT TO_DATE('09-10-2000','dd-mm-yyyy') d1,
TO_DATE('10-10-2000','dd-mm-yyyy') d2,
TO_DATE('11-10-2000','dd-mm-yyyy') d3,
TO_DATE('12-10-2000','dd-mm-yyyy') d4,
TO_DATE('13-10-2000','dd-mm-yyyy') d5
FROM DUAL)
UNION
SELECT d5 AS dMax FROM
(SELECT TO_DATE('09-10-2000','dd-mm-yyyy') d1,
TO_DATE('10-10-2000','dd-mm-yyyy') d2,
TO_DATE('11-10-2000','dd-mm-yyyy') d3,
TO_DATE('12-10-2000','dd-mm-yyyy') d4,
TO_DATE('13-10-2000','dd-mm-yyyy') d5
FROM DUAL)
) D2_D3_D5
;-)
HackTrack