Avatar billede hejhejhej Nybegynder
20. november 2003 - 17:03 Der er 5 kommentarer og
1 løsning

Hjælp til forespørgsel

Jeg har flg tabeller:
kunder(kunde_id,navn,adresse,postnr)
konto(konto_id,konto_type,beløb)
ejer(kunde_id,konto_id)
kunde_id og konto_id er primary keys.

Jeg er interesseret i at udtrække flg:
1 - Find det postnr hvor folk i gennemsnit har flest penge på deres konti
2 - Find kunde_id på de kunder som har mindst 20000 på deres konti, som der ikke er overtræk på

På forhånd tak
Avatar billede overchord Nybegynder
20. november 2003 - 17:13 #1
1) SELECT TOP 1(kunder.postnr), average(konto.belob) FROM ((kunder INNER JOIN ejer ON kunder.kunde_id + ejer.kunde_id) INNER JOIN konto ON ejer.konto_id = konto.konto_id);

2) SELECT kunder.kunde_id, konto.belob FROM ((kunder INNER JOIN ejer ON kunder.kunde_id + ejer.kunde_id) INNER JOIN konto ON ejer.konto_id = konto.konto_id) WHERE konto.belob > 20000;

ikke testet saa kan der vaere lidt knas med inner joins
Avatar billede trer Nybegynder
20. november 2003 - 17:13 #2
Umiddelbart burde 1'eren være løst her:

select postnr, indestående
from (
select e.kunde_id, sum(beløb) as indestående
from konto ko inner join ejer e on ko.konto_id = e.konto_id inner join kunder k on k.kunde_id = e.kunde_id
group by kunde_id ) x
inner join kunder k2 on x.kunde_id = k.kunde_id
order by 2

og 2 eren

select e.kunde_id, sum(beløb) as indestående
from konto ko inner join ejer e on ko.konto_id = e.konto_id inner join kunder k on k.kunde_id = e.kunde_id
where beløb>=0
group by kunde_id
Avatar billede trer Nybegynder
20. november 2003 - 17:14 #3
Damn... 30 sekunder fra :-)
Avatar billede overchord Nybegynder
20. november 2003 - 17:17 #4
whoops min 2'er er forkert - havde glemt at taenke paa at der kunne vaere flere konti per person:

SELECT kunder.kunde_id, konto.belob FROM ((kunder INNER JOIN ejer ON kunder.kunde_id + ejer.kunde_id) INNER JOIN konto ON ejer.konto_id = konto.konto_id) WHERE ((SELECT sum(belob) FROM kunder  WHERE belob > 0 GROUP BY kunde_id)>20000);
Avatar billede hejhejhej Nybegynder
20. november 2003 - 17:52 #5
jeg er et kvaj :-(  fik oprettet spørgsmålet i den forkerte kategori. Forespørgslerne skal bruges på en Access-database fra en ASP-side. Kan jeg bruge jeres forslag?
Hvis ikke får i selvfølgelig pointene alligevel
Avatar billede overchord Nybegynder
20. november 2003 - 18:04 #6
Der skulle ikke vaere noget problem i at eksekvere de samme sql-saetninger paa en access database. Der er vist ingen numere eller formater der skulle forvolde de store problemer.
:-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester