linq 中是如何完成这样的事情的?它在 JOIN 上有过滤条件。
这是摘自这个问题:SQL过滤条件在连接条件或where子句中哪个更有效 https://stackoverflow.com/questions/1401889/sql-filter-criteria-in-join-criteria-or-where-clause-which-is-more-efficient
select salesman.salesmanid, max(sales.quantity)
from salesman
inner join sales on salesman.salesmanid =sales.salesmanid
and sales.salesdate < salesman.promotiondate
group by salesman.salesmanid
Thanks
你不能join
除了equals
,但这可能不是您想要的。我认为 SQL 查询写得很笨拙,并且日期比较应该在WHERE
条款,但我认为这是主观的。无论如何,这就是only在 Linq 中执行此操作的方法:
var results =
from sm in salesman
join s in sales on sm.salesmanid equals s.salesmanid
where s.salesdate < sm.promotiondate
group s by s.salesmanid into g
select new { salesmanid = g.Key, maxsales = g.Max(s => s.quantity) };
注意 - 更正了组行上的拼写错误
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)