/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Count fra en tabel og Sum fra en anden
Fra : nivS


Dato : 09-02-10 06:09

Hej NG

Jeg prøver at skrue en SQL (MS SQL Server) sammen som tæller fra en
tabel og summer fra en anden.

Jeg har 3 tabeller:

Afdeling
Id, Navn

Computer
Id, AfdelingsId, Model, Ejer

ComputerSoftware
ComputerId, SoftwareId, Pris

Det jeg ønsker er en query der giver mig følgende (eksempel):
Afdeling, AntalComputere, SamletSoftwarePris
Regnskab, 5, 5000
HR, 2, 3000
Salg, 10, 50000

Jeg har prøvet følgende, men resultatet er helt ude i skoven (prisen
bliver lagt sammen flere gange:
select Afdeling.Navn, COUNT(Computer.Id), SUM(ComputerSoftware.Pris)
from Afdeling left join Computer on Computer.AfdelingsId=Afdelinger.Id
left join ComputerSoftware on Computer.id =
ComputerSoftware.ComputerId group by Afdeling.Navn

Er der nogen der kan hjælpe mig med at konstruere den korrekte SQL
select sætning?

Mvh. Hans Milling...

 
 
Leif Neland (09-02-2010)
Kommentar
Fra : Leif Neland


Dato : 09-02-10 17:13

Den 09-02-2010 14:08, nivS skrev:
> Hej NG
>
> Jeg prøver at skrue en SQL (MS SQL Server) sammen som tæller fra en
> tabel og summer fra en anden.
>
> Jeg har 3 tabeller:
>
> Afdeling
> Id, Navn
>
> Computer
> Id, AfdelingsId, Model, Ejer
>
> ComputerSoftware
> ComputerId, SoftwareId, Pris
>
> Det jeg ønsker er en query der giver mig følgende (eksempel):
> Afdeling, AntalComputere, SamletSoftwarePris
> Regnskab, 5, 5000
> HR, 2, 3000
> Salg, 10, 50000
>
> Jeg har prøvet følgende, men resultatet er helt ude i skoven (prisen
> bliver lagt sammen flere gange:
> select Afdeling.Navn, COUNT(Computer.Id), SUM(ComputerSoftware.Pris)
> from Afdeling left join Computer on Computer.AfdelingsId=Afdelinger.Id
> left join ComputerSoftware on Computer.id =
> ComputerSoftware.ComputerId group by Afdeling.Navn
>
> Er der nogen der kan hjælpe mig med at konstruere den korrekte SQL
> select sætning?
>
> Mvh. Hans Milling...

Select Afdeling.Navn,
(select count(Computer.Id) from Computer where
Afdelingsid=Afdelinger.id) as AntalComputere,
(select sum(pris) from ComputerSoftware inner join Computer on
Computer.id=ComputerSoftware.ComputerId where Afdelingsid=Afdelinger.id)
as SamletSoftwarePris
order by navn

Leif

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste