我想知道我可以更改以下SQL语句转换成的LINQ或拉姆达扩展在C#与多个转换SQL连接到LINQ
SELECT m.mdes as AgeGroup,COUNT(DISTINCT(mbcd))as "No.of Member" FROM mageg m
LEFT JOIN (select distinct(mbcd) ,mage
FROMtevtl
JOIN mvipm
ON tevtl.mbcd = mvipm.mvip
WHERE datm >= '2014-04-01'
AND datm <= '2014-04-30'
)vip
ON m.tage >= vip.mage AND m.fage <= vip.mage
GROUP BY m.mdes
我能做到的LINQ声明的前半部分。不知道如果这是正确的 这里是上半场。我不知道如何连接左连接。
(from mem in mvipms
from log in tevtls
from grp in magegs
where mem.mage >=grp.fage && mem.mage <=grp.tage && mem.mvip.Equals(log.mbcd)
&& log.datm >= DateTime.Parse("2014-04-01") && log.datm <= DateTime.Parse("2014-04-30")
select new {mem.mvip,grp.mdes}).Distinct()
请指教。我正在使用MSSQL 2008和VS2010。
非常感谢。
实体框架? –
我建议用这样一个问题,将原始表格和属性名称更改为更加自我解释的内容。此外,可以通过添加查询类型的说明来改善问题,例如“用间隔条件分组的左连接”或类似的。当然,样本数据也会有帮助。 –