【发布时间】:2014-05-01 22:15:56
【问题描述】:
我想查询一个生成需要子查询的 DataTable 的 DataTable。我很难找到合适的例子。 这是我要创建的 SQL 子查询:
SELECT *
FROM SectionDataTable
WHERE SectionDataTable.CourseID = (SELECT SectionDataTable.CourseID
FROM SectionDataTable
WHERE SectionDataTable.SectionID = iSectionID)
我有 SectionID、iSectionID,我想返回 Section 表中具有 iSectionID 的 CourseID 的所有记录。
我可以使用如下所示的 2 个单独的查询来做到这一点,但我认为子查询会更好。
string tstrFilter = createEqualFilterExpression("SectionID", strCriteria);
tdtFiltered = TableInfo.Select(tstrFilter).CopyToDataTable();
iSelectedCourseID = tdtFiltered.AsEnumerable().Select(id => id.Field<int>("CourseID")).FirstOrDefault();
tdtFiltered.Clear();
tstrFilter = createEqualFilterExpression("CourseID", iSelectedCourseID.ToString());
tdtFiltered = TableInfo.Select(tstrFilter).CopyToDataTable();
【问题讨论】:
-
这篇文章可能会有所帮助:SO