|
| 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
| |
|
|