J'ai un ami qui utilise C# Linq faire rapport sur le tableau suivant:C# LINQ question: Comment identifier et compter les éléments dans un ensemble
varchar(50) name
datetime when
Le client veut choisir les colonnes pour résumer, comme Total pour cette année, Total pour l'année dernière, Total pour il y a deux semaines, etc. Chaque colonne aurait une heure de début et de fin résumée avec un décompte. Je l'ai fait une déclaration de sélection rapide pour lui:
select A.name as [Name],
(select count(*) from mytable B where A.name = B.name and
datepart(yy, when) = datepart(yy,getdate())) as [This Year],
(select count(*) from mytable B where A.name = B.name and
datepart(yy, when) = (datepart(yy,getdate()) - 1)) as [Last Year]
from (select distinct name from mytable) A
J'ai aussi suggéré qu'il fait chaque champ de calcul d'un délégué pour qu'il puisse contenir le désordre de calcul en dehors de la requête. En supposant que chaque délégué aurait une date de début et une date de fin qui ont calculé combien de hits se produisent pour chaque nom distinct, tout le monde veut savoir à quoi ressemblerait le code Linq C#?
Supposons aussi Linq à Sql. ;) –