Equivalent de LEAST et GREATEST
Bonjour,
Je me permets de poster ce message, car après de nombreuses recherches je ne parviens pas à adapter une requête fonctionnant sous oracle a sqlserver 2005.
Je bloque sur le remplacement des least et greatest, voici un bout de requête posant problème :
Code:
1 2
| select matric,sum(HNUIT) from
(select matric,sum(least(hfinpl,3000)-greatest(hdebpl,2300)) as HNUIT |
Je suis parvenu à "remplacer" la fonction least avec cette fonction :
Code:
1 2 3 4 5
| CREATE FUNCTION Minimum
(@Param1 Integer, @Param2 Integer)
Returns Table As
Return(Select Case When @Param1 < @Param2
Then @Param1 Else @Param2 End MinValue) |
Utilisation => Select MinValue as PaidforPast From dbo.Minimum(@PaidThisMonth, @OwedPast)
Le problème étant que je ne parviens pas à utiliser ma fonction dans le FROM comme je le souhaiterais, voici où j'en suis :
Code:
1 2
| select matric,MinValue as HNUIT,
from plres, dbo.Minimum((select min(hfinpl) from plres),(2900)); |
j'aimerais plutôt passer sur quelque chose du genre
Code:
1 2
| select matric,MinValue as HNUIT
from plres as p1, dbo.Minimum((select hfinpl from plres where p1.matric=matric and p1.dat=dat),(2900)); |
Hors je ne parviens pas à faire fonctionner ceci avec l'alias, avez-vous une idée sur la manière de contourner le problème ?
Merci par avance et bonne journée.