具有计数聚合,分组依据和具有语句的Linq查询

时间:2017-04-07 21:58:40

标签: sql oracle linq

我可以做简单的linq查询,我理解"有" SQl中的子句将被放入linq中的where子句中,但因为它有一个连接和Group by和一个聚合" Count",我似乎无法通过简单的google找到任何内容搜索。我只需要在Linq语法中使用此SQL查询。我在Dot Net 4.5版上,如果有帮助的话。

我想我更喜欢查询语法,但不会介意学习方法语法。

SELECT t1.t1_Id, t1.ImageCount, COUNT(t2.t1_Id_ForeignKey) AS RecordsInB
FROM t1
LEFT JOIN t2 ON t2.t1_Id_ForeignKey = t1.t1_Id
GROUP BY t1.t1_Id, t1.ImageCount
HAVING t1.imageCount = COUNT(t2.t1_Id_ForeignKey)

这是我的尝试,但我似乎已经落后了什么...... 它应返回t1中的记录,其中ImageCount列为0且t2中没有记录(也等于0)。以下尝试似乎只给出了来自t2 ...

的不同值
from t1 in _db.t1
join t2 in _db.ImageRecords on a.t1_Id equals b.t1_Id_ForeignKey
group t1 by new { t1.t1_Id, t1.ImageCount } into grp
where grp.Key.ImageCount == grp.Count()
select grp.Key.t1_Id

任何帮助都会非常感激

0 个答案:

没有答案