Frågan#1 Hej!
Nu har jag glömt bort denna enkla SQL:
Jag har en tabell LoanDebt med fälten:
LoanID
DebtAmount
DebtDate
Nu vill jag för varje LoanID få ut den senaste DebtAmount. Olika lån kan olika senaste DebtDate.
Jag minns att jag måste joina tabellen med sig själv och använda MAX, men hur var det nu igen?
Edit: Använder SQL Server 2000
CcolioneMedlem sedan juni 20014 421 inlägg Mja, det kan nog lösa det, men borde inte en JOIN var snabbare än en subquery med IN?
PPeter SMedlem sedan dec. 20025 483 inlägg Hur skulle du vilja skriva en sådan join?
Jag tror du oavsett måste ha med en subquery för att bestämma skuldstorleken för det senaste datumet på ett lån. Du kan skriva:
select loanid
, debtamount
from loandebt l
where debtdate
= ( select max(debtdate)
from loandebt
where loanid = l.loanid )
Peter S skrev:
Hur skulle du vilja skriva en sådan join?
Jag tror du oavsett måste ha med en subquery för att bestämma skuldstorleken för det senaste datumet på ett lån. Du kan skriva:
select loanid
, debtamount
from loandebt l
where debtdate
= ( select max(debtdate)
from loandebt
where loanid = l.loanid )
Nej, du har rätt. Det var jag som flummade till det. Tack!