Salut tout le monde,
Bon après pas mal d'heure de prise de tête je me remet à vous, c'est pas vraiment dans mes habitudes mais la je pète vraiment un boulon.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
SELECT * FROM (
	SELECT * FROM (  
		SELECT item.No_,item."Code EAN13", item.Colisage, item."Sous colisage", item."Article Promo", ordre.Ordre, ordre."Fm", ordre."Sfm", 
		sal."Prix net", sal."Unit Price", client."Customer Disc_ Group",  
		total=(SELECT COUNT(*) FROM [TESTSQL].[dbo].[TESTSQL$Web_Item_Ordre] AS countOrdre WHERE (countOrdre."Fm" = 'AA')), 
 
		(CASE WHEN sal."Prix net" != 0 AND item."Article Promo" = 1   
		THEN CEILING((sal."Prix net" - (sal."Prix net" *(50 * 0.01)))*100 )/100 
		ELSE CEILING((sal."Unit Price" - (sal."Unit Price" *( convert(float(2),client."Customer Disc_ Group") * 0.01)))*100 )/100 END) Price,  
		ROW_NUMBER() OVER (ORDER BY ordre."Fm" ASC) AS row 
 
		FROM [TESTSQL].[dbo].[TESTSQL$Web_Item_Ordre] AS ordre  
 
		JOIN [TESTSQL].[dbo].[TESTSQL$Item] AS item ON ordre.[Item No_] = [item].[No_]  
		JOIN [TESTSQL].[dbo].[TESTSQL$Sales Price] AS sal ON [sal].[Item No_] = item.No_  
		JOIN [TESTSQL].[dbo].[TESTSQL$Customer] AS client ON client.No_ = '012367 '  
 
		WHERE ( ordre."Fm" = 'AA' AND sal."Sales Code" = 'EURO') 
	) a WHERE (row > 0 AND row <= 6 )
) b ORDER BY Price ASC
Voila la grosse requête du débutant :p

La requête marche bien mais le Order By ne marche que sur les 6 premiers résultats et les 6 autres après etc.., c'est a dire que sur ma page 1 j'ai bien les article trié 1€, 2€, 3€,... et sur ma page 2 je vais retourné a 2€, 3€ , 4€... Page 3 : 1€, 2€ ... par exemple, mais jamais les même article.

Si quelqu'un à une solution c'est un BOSSS !!!!
Ya une jointure foireuse aussi mais je sais pas comment faire autrement :s