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 :
Je suis parvenu à "remplacer" la fonction least avec cette fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select matric,sum(HNUIT) from (select matric,sum(least(hfinpl,3000)-greatest(hdebpl,2300)) as HNUIT
Utilisation => Select MinValue as PaidforPast From dbo.Minimum(@PaidThisMonth, @OwedPast)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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)
Le problème étant que je ne parviens pas à utiliser ma fonction dans le FROM comme je le souhaiterais, voici où j'en suis :
j'aimerais plutôt passer sur quelque chose du genre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select matric,MinValue as HNUIT, from plres, dbo.Minimum((select min(hfinpl) from plres),(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 ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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));
Merci par avance et bonne journée.
Partager