corralte子查询
问题描述:
转换这个SQLSERVER corralate子查询LINQ -corralte子查询
SELECT
ET2.[OID],
ET2.[EID],
ET2.[OrID],
ET2.ValidFromDate,
ET2.Quantity,
ET2.RAQID,
ET2.Threshold
FROM
[CDev].[Inf].[FEThreshold] AS ET2
WHERE
ET2.ValidFromDate =
(
SELECT
MAX(ET1.ValidFromDate)
FROM
[CDev].[Inf].[FEThreshold] AS ET1
WHERE
ET1.OID = ET2.OID
AND ET1.EID = ET2.EID
AND ET1.OrID = ET2.OrID
)
答
也许是这样的:
var result=
(
from ET2 in db.FEThreshold
where
ET2.ValidFromDate=
(
from ET1 in db.FEThreshold
where ET1.OID == ET2.OID
&& ET1.EID == ET2.EID
&& ET1.OrID == ET2.OrID
select ET1.ValidFromDate
).Max()
select new
{
ET2.OID,
ET2.EID,
ET2.OrID,
ET2.ValidFromDate,
ET2.Quantity,
ET2.RAQID,
ET2.Threshold
}
);
@SaiKalyanAkshinthala:好像在以前的 – 2012-03-29 08:21:21
收到@huMptyduMpty没有好的答案,他问了7个问题,至少有一个也没有收到好答案?我不这么认为。 – 2012-03-29 08:40:02
@SaiKalyanAkshinthala:可以。但也有一些这样的情况,以及** http://meta.stackexchange.com/questions/126536/what-if-all-answers-to-my-question-are-bad** :) – 2012-03-29 08:41:44