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