webForumDet fria alternativet

Hämta senaste saldo för alla företag

Databaser & SQL

4 svar · 367 visningar · startad av Pedda

Medlem sedan juni 20006 031 inlägg
Frågan#1

Har problem med att få ut rätt värden från en access databas.

foretag
id
namn

saldo
foretagsId (referens till id i tabellen foretag)
utSaldo
inSaldo
datum

Dessa fälten är dom som är relevanta.
Jag vill hämta utSaldo och inSaldo från det senaste datumet från tabellen saldo, och namn från tabellen företag och sortera efter utSaldo.

Vill alltså att bara att ett utSaldo för varje företag ska skrivas ut.

exempel:

namn...............utSaldo
Företag 1...........56
Företag 2...........43
Företag 4...........22
Företag 5...........7

Medlem sedan dec. 200012 464 inlägg
#2
select f.namn,s.utSaldo,s.inSaldo
 from foretag as f join saldo as s on f.id = s.foretagsid
 where datum =
     (select max(datum)
         from saldo
        where saldo.foretagsid = s.foretagsid)
  order by s.utSaldo desc
Medlem sedan juni 20006 031 inlägg
#3

Detta kan väl inte stämma?

where saldo.foretagsid = s.foretagsid

Jag får felmeddelandet: System.Data.OleDb.OleDbException: Syntaxfel i FROM-instruktion.

Medlem sedan dec. 200012 464 inlägg
#4

Jodå, det stämmer.

Om du bara testar

select f.namn,s.utSaldo,s.inSaldo
 from foretag as f join saldo as s on f.id = s.foretagsid

får du samma fel då? Kanske att Access kräver att man skriver inner join och inte bara join.

Medlem sedan juni 20006 031 inlägg
#5

Ja, när jag tänkte efter så verkade det vettigt.

Ändrade till inner join och då funkade det prima (och ändrade sorteringen till ASC). :)

252 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)