在这种情况下我无法弄清楚任何逻辑……
我有一张桌子,课程很多。 像这样:
Id_Course Id_Course_Parent Course_Code Course_Description 1 -1 BE_A Basic English A 2 -1 BF_A Basic French A 3 1 BE_B Basic English B 4 2 BF_B Basic French B 5 1 BE_C Basic English C
有些人参加了“基础英语A”课程。后来,该课程更改为“基础英语B”,但等效。 拥有“基础英语A”的人和具有“基础英语B”的人被认为是平等的。
我有一些来自Excel工作表的数据(不在数据库中)。 像这样:
+--------+--------------+-------------+ | UserId | User | Course_Code | +--------+--------------+-------------+ | 1 | Mr Mittens | BE_A | +--------+--------------+-------------+ | 2 | Sir Meow | BE_A | +--------+--------------+-------------+ | 2 | Sir Meow | BF_A | +--------+--------------+-------------+ | 3 | Captain Purr | BE_B | +--------+--------------+-------------+ | 3 | Captain Purr | BF_B | +--------+--------------+-------------+ | 4 | Steeve | BE_B | +--------+--------------+-------------+
在此示例中:
我想要的是将数据库中的数据与Excel工作表结合起来。
类似的东西:
//(to select all “parent” courses. I only want to display the “main” course in my result).
select * from course where id_course_parent <> -1 as queryDB
Left join excelsheet ES
on ES.cours_code = queryDB.course_code
但是我真的不知道从哪里开始……
我有这个查询:
var query = from c1 in coursesDatabase
join c2 in coursesCAS on c1.Code equals c2.Code into gj
from subc2 in gj.DefaultIfEmpty()
select new { c1.Id, c1.Code, c1.Name, AA = subc2?.Code ?? "(Not attended)" };
但是我不知道在哪里添加“子列表”部分。