est ici le sqlonlineSomme sur Sum dans le serveur SQL?
Il y a une bande.
Chaque membre joue d'un instrument.
coût de chaque instrument X $
Je voudrais créer un rapport: combien chaque membre « coûts » au gestionnaire de bande.
create table #Inst(id int, name nvarchar(max) , price int)
insert into #Inst values (1,'guitar',20),
(2,'bass',10),
(3,'drums',30),
(4,'piano',40)
create table #Players(id int, name nvarchar(max) , instId int)
insert into #Players values (1,'john',1),
(2,'john',4),
(3,'paul',2),
(4,'paul',2),
(5,'george',1),
(6,'ringo',3)
Qu'est-ce que j'ai essayé?
select name , totalCostToTheband=
(select sum(price) from #inst i where i.id= #players.instId)
from #players
mais cela donne des noms en double:
Je veux voir 4 dossiers qui résument les coûts de chaque nom.
p.s. : J'aurais pu créer une somme() sur toute la requête, mais je veux savoir s'il existe une meilleure solution élégante.
Doit être 'p.name' après SELECT et GROUP BY. – pleinolijf
@pleinolijf, merci d'avoir attrapé ce .. –
Je sais que j'aurais dû créer une table de carte. mais la question était juste pour attraper le concept. (somme sur la somme) –