Осталось присоединиться к 2 списку. Один из них с подсписком - PullRequest
0 голосов
/ 02 июля 2019

Я не могу понять никакой логики в этой ситуации ...

У меня есть стол, курс со многими курсами. Примерно так:

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

Некоторые люди проходили курс «Базовый английский А». Позже этот курс был изменен на «Базовый английский 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        |
+--------+--------------+-------------+

В этом примере:

  • Пользователи 1, 2, 3 и 4 имеют одинаковое обучение (BE_A эквивалентно BE_B).
  • Пользователи 2 и 3 имеют одинаковое обучение (BF_A эквивалентно BF_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)" };                    

Но я не могу понять, куда добавить часть "подсписка".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...