webForumDet fria alternativet

Går det att sortera såhär?

Databaser & SQL

4 svar · 516 visningar · startad av JAreMANNEN

Medlem sedan aug. 20002 272 inlägg
Frågan#1

Hej,

Har en fråga angående en sortering som jag inte vet om den är möjlig eller inte.

Följande fråga har jag idag:

SELECT a.ArtikelNr, a.FargID, a.BildNamn, a.VarumarkeID
FROM tblProdukter AS a
INNER JOIN ReaUrval080519 AS b
ON a.ArtikelNr = b.one AND a.FargID = b.two
GROUP BY a.ArtikelNr, a.FargID, a.BildNamn, a.VarumarkeID 
HAVING (a.VarumarkeID = 3)

Jag skulle vilja ha såhär (ny kod fetmarkerad):

SELECT a.ArtikelNr, a.FargID, a.BildNamn, [B]a.SnittPris, a.Lagerantal,[/B] a.VarumarkeID
FROM tblProdukter AS a
INNER JOIN ReaUrval080519 AS b
ON a.ArtikelNr = b.one AND a.FargID = b.two
GROUP BY a.ArtikelNr, a.FargID, a.BildNamn, a.VarumarkeID 
HAVING (a.VarumarkeID = 3)
[B]ORDER BY (SnittPris * Lagerantal)[/B]

Det jag är ute efter är att sortera på de produkter som har högst lagervärde.

Tack på förhand!

Medlem sedan sep. 2006867 inlägg
#2

borde du inte kunna köra

SELECT a.SnittPris*a.Lagerantal as lagervarde ORDER BY lagervarde

Bara en snabb tanke...

/ed: YES!!! Jag hann först! :p

Medlem sedan juli 20011 129 inlägg
#3

Fungerar det inte helt sonika ungefär såhär:

SELECT a.ArtikelNr, a.FargID, a.BildNamn, a.SnittPris, a.Lagerantal, a.VarumarkeID, a.SnittPris * a.Lagerantal as lagervarde
FROM tblProdukter AS a
INNER JOIN ReaUrval080519 AS b
ON a.ArtikelNr = b.one AND a.FargID = b.two
GROUP BY a.ArtikelNr, a.FargID, a.BildNamn, a.VarumarkeID 
HAVING (a.VarumarkeID = 3)
ORDER BY lagervarde

Kanske är helt uppått väggarna, men jag brukar själv göra lite additioner som jag sorterar efter på det sättet.

Medlem sedan dec. 200012 464 inlägg
#4

Inte med din group by. Kan du ge exempel på datainnehåll och förväntat resultat?
Varför anänder du having?

Medlem sedan aug. 20002 272 inlägg
#5

Bifogar två bilder för att visa datainnehåll i de olika tabellerna.

Som ni ser så i tblProdukter så finns det dubbel data, detta är likadana produkter i olika storlekar, men storlekarna vill jag inte bry mig om här.
Samtidigt vill jag bara visa EN unik produkt (oberoende av storlekar, därav min GROUP BY)

Tabellen ReaUrval080519 är en temporär relationstabell med data som jag kör mot tblProdukter som ni redan förstått :)

ReaUrval080519 skall alltså vara styrande, men annan info som bildnamn osv hämtas från ordinarie produkttabell.

HAVING kan ignoreras där, antar att man kan köra en WHERE likväl.

Resultatet jag vill ha ut är det som jag har i min SELECT fråga.

tblProdukter.gifReaUrval080519.gif
259 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)