Varför får jag ut flera likadana strName med denna fråga?
SELECT DISTINCT strName, floatRate, datDate
FROM tblCurrency_cur cur
INNER JOIN tblExchangeRate_exr exr
ON cur.intId = exr.intId_cur
ORDER BY strName, datDate DESC
6 svar · 250 visningar · startad av ekke_t
Varför får jag ut flera likadana strName med denna fråga?
SELECT DISTINCT strName, floatRate, datDate
FROM tblCurrency_cur cur
INNER JOIN tblExchangeRate_exr exr
ON cur.intId = exr.intId_cur
ORDER BY strName, datDate DESC
Distinct är på alla olika kombinationer av specificerade fält.
Hur gör jag för att plocka ut en av varje strName??
Testade detta men den plockar endast ett namn:
SELECT TOP 1 strName, floatRate, datDate
FROM tblCurrency_cur cur INNER JOIN
tblExchangeRate_exr exr ON cur.intId = exr.intId_cur
GROUP BY strName, floatRate, datDate
ORDER BY strName, datDate DESC
Vilka floatRate, datDate skall man välja för varje unikt strName?
Top hjälper inte i detta sammanhang, det är group by du behöver. Hur den ser ut beror av svaret på ovanstående fråga.
Den senaste datDate med tillhörande floatRate....
Jag har alltså en massa valutakurser och jag vill ha ut den senaste noteringen för varje valuta...
Då blir det nog lite mer komplicerat
SELECT strName, (select floatRate from tblExchangeRate
where datDate in (select max(datDate) from tblExchangeRate where strName = exr.strName) as floatRate, max(datDate)
FROM tblCurrency_cur cur INNER JOIN
tblExchangeRate_exr exr ON cur.intId = exr.intId_cur
GROUP BY strName
ORDER BY strName, datDate DESC
Jag vet inte om det stämmer med tblExchangeRate i subselecten
Nej det stämmer inte riktigt... strName finns inte i tblExchangeRate_exr.... testade att mixtra om frågan lite men det funkade inte... men jag har löst problemet på annat sätt...
Men tack för hjälpen!