essayer d'get des statistics pour datatables basées sur un autre paramètre

Difficulté à nouveau sur les statistics sur datatables basées sur d'autres sets de données.

J'ai une list de clients. comme le suivant:

CustomerID Value Date 1 3 01/01/2017 2 2 01/02/2017 3 1 01/02/2017 1 5 01/04/2017 1 6 01/04/2017 2 1 01/04/2017 2 2 01/04/2017 

Je souhaite get une moyenne pour une plage de dates pour le client 1 les jours où le client 2 a également des valeurs. Quelqu'un at-il des idées?

Exemple

  Select avg(value) from Table where customerid=1 and (customer 2 values are not blank) and date between '01/01/2017' and '01/31/2017' 

J'utilise SQL Server Express 2012.

Une autre option

 Select AvgValue = Avg(Value+0.0) -- Remove +0.0 if you want an INT From YourTable Where CustomerID = 1 and Date in (Select Distinct Date from YourTable Where CustomerID=2) 

Résultats

 AvgValue 5.500000 

Vous pouvez sélectionner les dates en utilisant ou in et ensuite calculer la moyenne:

 select avg(value) from datatbl t where customerid = 1 and exists (select 1 from datatbl t2 where t2.customerId = 2 and t2.date = t.date); 

Si vous voulez la moyenne par date , incluez le group by date .