【发布时间】:2009-07-21 09:47:18
【问题描述】:
我有以下 SQL,如何在 LINQ 中实现(请使用 c# :))
SELECT a.Category, a.Description, a.Item, a.[Value], a.Loading, a.MaxDiscount, MIN(b.EffectiveDate) AS FromDate, a.EffectiveDate AS EndDate, a.SortOrder, a.ID
FROM List a
LEFT OUTER JOIN List b ON a.[Value] = b.[Value] AND a.Category = b.Category AND a.Description = b.Description AND a.Item = b.Item AND a.EffectiveDate < b.EffectiveDate
GROUP BY a.Category, a.Description, a.Item, a.[Value], a.Loading, a.MaxDiscount, a.SortOrder, a.EffectiveDate, a.ID
HAVING (a.Category = 'General') AND (a.Description = 'Cover') AND (a.EffectiveDate <= CONVERT(DATETIME, '2009-04-01 00:00:00', 102)) AND (MIN(b.EffectiveDate) >= CONVERT(DATETIME, '2009-04-01 00:00:00', 102) OR MIN(b.EffectiveDate) IS NULL) AND (a.Item = 'Type')
ORDER BY a.SortOrder
我有以下(使用 SubSonic Linq)
var query = from a in List.All() join b in List.All()
on new {a.Value,a.Category ,a.Description,a.Item}
equals new {b.Value,b.Category ,b.Description,b.Item} into temp
我现在不知道如何添加 a.EffectiveDate
【问题讨论】:
-
至少让我们看看你到目前为止得到了什么,否则我们最终只会为你做所有的工作而什么都没学到。
-
我有以下(使用 SubSonic Linq)var query = from a in List.All() join b in List.All() on new {a.Value,a.Category ,a.Description ,a.Item} 等于 new {b.Value,b.Category ,b.Description,b.Item} 到 temp 我不知道如何添加 a.EffectiveDate