31. august 2010 - 10:09Der er
2 kommentarer og 1 løsning
Vælg mindste pris for liste af produkter
Hej eksperter,
Jeg har en tabel med produktpriser, og vil gerne have en liste over alle produkterne sammen med deres respektive mindste mindste pris, samt id på den forretning som har den mindste pris.
min tabel ser nogenlunde sådan her ud : productid,priceproviderid,price 1,1,100 1,2,120 1,3,80 2,1,105 2,2,150 2,3,110 3,1,120 3,2,90 3,3,115 4,1,230 4,2,190 4,3,220
mit forventede resultat ville være 1,3,80 2,1,105 3,2,90 4,2,190
Det er muligt der er flere butikker der har den samme pris, og i det tilfælde er det ligemeget hvilket butiksid der vises
Databasen er en MSSQL 2008 Er der nogen der kan hjælpe ?
Du må lige selv erstatte "DinTabel" med dit rigtige tabelnavn:
;WITH CTE AS ( SELECT ROW_NUMBER() OVER(PARTITION BY ProductId ORDER BY Price) AS rn, * FROM DinTabel ) SELECT ProductId, PriceProviderId, Price FROM CTE WHERE rn = 1
SELECT * FROM ( SELECT ROW_NUMBER() OVER (PARTITION BY variationid ORDER BY productid, price ASC) AS Ranking, priceproviderid, price, productid from vwLatestCardPrices ) s WHERE Ranking =1;
Det ser ud som om det er noget i samme stil. Men læg et svar så jeg kan give dig nogen point
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.