下面的3个表格
学生
StudentId,StudentName
1 aaa
2桶
3 cc
课程
CourseId,CourseName
100 xxx
101年
102 zzz
学生课程
StudentId,CourseID
1100
1 101
2 100
2 102
要按字母顺序选择第一个参加xxx课程的所有学生的课程,我可以编写以下查询:
SELECT学生姓名,课程名称
来自学生
内联接StudentCourse ON Student.StudentId = StudentCourse.StudentID
INNER JOIN关于StudentCourse.CourseID的课程= Course.CourseID
在(中的StudentName
选择顶部1学生姓名
来自学生
INNER JOIN Student.StudentID上的StudentCourse = StudentCourse.StudentID
INNER JOIN关于StudentCourse.CourseID = Course.StudentID的课程
WHERE CourseName ='xxx'
按学生姓名订购)
有没有一种更有效的方式来执行/编写此操作而无需进行子选择,因为看来我在执行相同的查询两次。
谢谢。
答案 0 :(得分:1)
您可以使用窗口功能和HtmlDocument doc = new HtmlDocument();
var d = doc.GetElementbyId("odds-data-table");
HtmlNodeCollection listItems = d.SelectNodes(".//a");
//This list contains all your href values
List<string> hrefs = new List<string>();
foreach (var item in listItems)
{
var href = item.Attributes["href"].Value;
hrefs.Add(href);
}
:
top (1) with ties