【发布时间】:2009-01-14 04:08:33
【问题描述】:
LINQ 新手,正在尝试编写以下查询...
select
f.Section_ID,
f.Page_ID,
f.SortOrder,
f.Type
from
(
select
Section_ID,
min(SortOrder) as minSortOrder
from
ContentPages
group by
Section_ID
) as x
inner join
ContentPages as f on
f.Section_ID = x.Section_ID and
f.SortOrder = x.minSortOrder;
注意事项:
- “Section”有很多“ContentPages”
- 部分按“SortOrder”字段排序
- ContentPages 也按“SortOrder”字段排序
表格:部分
Section_ID....名称.......SortOrder
....1.........一个........1......
....2............两个............3......
....3............三个............2......
表格:内容页面
Page_ID.......Section_ID.......标题........SortOrder
....11.............1........第 1 页.............1.... .
....12.............1........第二页.............3.... ..
....13............2............第三页............2......
....16........2........第四页............4......
....17............2............第 8 页............5......
....18........1........第 10 页............6.... ..
上面的查询可能会写成另一种方式,所以这就是我想要做的:
- 我需要返回每个部分中第一个 ContentPage 的列表(按 ContentPage.SortOrder 排序时)
- 按 Section.SortOrder 对结果进行排序
- 在结果中也显示 Section.Name(加入 Section_ID?)
上面的 sql 查询没有涵盖最后 2 点,而更多的是“很高兴拥有”...
期望的结果
Page_ID.......Section_ID...SectionName.....Title.......SortOrder
....11......1............一个............第一个............ ...1......
....13........2............第二个............第三页...... ..2......
感谢任何帮助。谢谢!
【问题讨论】:
标签: linq