webForumDet fria alternativet

SQL-fråga som tar ut min och distinct

4 svar · 294 visningar · startad av Mannen

MannenMedlem sedan jan. 2003247 inlägg
#1

Vet att jag har haft liknande problem förr men stöter på det liknande problemet igen (på en annan sida), och inte verkar jag ha blivit klokare. Har suttit en längre tid och svurit.

Jag kör (typ) denna sql sats.

strSQL="SELECT DISTINCT(tblSpr.sprID), tblSprit.sprNamn FROM tblSpr, tblcmpSpr WHERE tblSpr.sprID=tblCmpSpr.cmpSprID ORDER BY tblSpr.sprNamn ASC"

Samtidigt vill jag kunna få ut den post som har det lägsta priset av de poster där samma villkor stämmer [tblSpr.sprID=tblCmpSpr.cmpSprID]. Dvs jag vill få in
Min(tblCmpSpr.cmpPrice) i satsen ovan.

Men jag blir helt galen, får inget att fungera. Vet att de inte ska behöva vara så invecklat :r

Men jag vet att SQL-gudarna här fixar detta galant. Samtidigt vill jag passa på att fråga om någon sida där man kan läsa på om ämnet.

LarsGMedlem sedan dec. 200012 464 inlägg
#2
select sprID, sprNamn , min(cmpPrice)
FROM tblSpr inner join tblCmpSpr
on sprId = cmpSprid
group by sprId,sprNamn
ORDER BY sprNamn
MannenMedlem sedan jan. 2003247 inlägg
#3

Tjenare, usen tack för hjälpen.
Jag försöker få sql-satsen att sorteras efter min(cmpPrice) men så får jag inte skriva?! Om jag skriver cmpPrice så kommer ofta inte det lägsta priset med.

Hur ska jag formulera om frågan för att få den att ORDER BY min(cmpPrice) ?

Tack på förhand.

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Om acccess

select sprID, sprNamn , min(cmpPrice)
FROM tblSpr inner join tblCmpSpr
on sprId = cmpSprid
group by sprId,sprNamn
ORDER BY 3

Alla andra DBMS

select sprID, sprNamn , min(cmpPrice) minPris
FROM tblSpr inner join tblCmpSpr
on sprId = cmpSprid
group by sprId,sprNamn
ORDER BY minPris
MannenMedlem sedan jan. 2003247 inlägg
#5

Supertack, då har man lärt sig ngt nytt.

132 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)