gpt4 book ai didi

mysql - 具有最大日期的 IN 子句的 LINQ 表达式

转载 作者:行者123 更新时间:2023-11-29 07:26:34 26 4
gpt4 key购买 nike

我有以下查询需要写成 LINQ

select * from sales s 
where area in ('f1','f2','f3') and sdate =(select max(sdate) from sales ss where ss.area= s.area)

我对最大日期感到困惑。

我当前的代码:

        var maxDate = (from A in _context.sales
where inputArray.Contains(A.area)
select A.sdate)
.Max();
var Model =
(from A in _context.sales
where inputArray.Contains(A.area) && A.sdate== maxDate
select ...)

最佳答案

说到

sdate =(select max(sdate) from sales ss where ss.area= s.area)

条件,或更准确地说

s.sdate = (select max(ss.sdate) from sales ss where ss.area = s.area)

您可以使用几乎相同的子查询语法 - 只是 Max 应该在 LINQ 查询语法 之外,或者只使用 LINQ 方法语法对于那部分,例如要么

from s in _context.sales
where inputArray.Contains(s.area)
&& s.sdate == (from ss in _context.sales where ss.area == s.area select ss.sdate).Max()

where inputArray.Contains(s.area)
&& s.sdate == _context.sales.Where(ss => ss.area == s.area).Max(ss => ss.sdate)

关于mysql - 具有最大日期的 IN 子句的 LINQ 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53371343/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com