merci beaucoup pour cette solution qui fonctionne a condition que Y et X soit remplacé par des valeurs dans la formule.
si je veux remplacer y et x par @y et @x que je reçois en paramètre dans ma procédure, ça ne fonctionne plus
declare @x int, @y int, @diff int
set @x = 30
set @y = 40
set @diff = @y - @x
SELECT @diff
SELECT *
FROM(SELECT TOP @diff *
FROM(SELECT TOP @y *
FROM ma_table
ORDER BY ID)AS t1
ORDER BY ID DESC)AS t2
ORDER BY ID
Message d'erreur :
Server: Msg 170, Level 15, State 1, Line 9
Line 9: Incorrect syntax near
'@diff'
.
Server: Msg 170, Level 15, State 1, Line 10
Line 10: Incorrect syntax near
'@y'
.