Формат запроса ввода студенческих отметок

#c# #sql #firebird

#c# #sql #firebird

Вопрос:

Я использую Firebird. У меня есть 4 таблицы:

 **tbl_student**
s_id    s_name     s_gender   c_id
-----------------------------------
1       Mike       M           1
2       Adri       M           4
3       Grij       F           2         

**tbl_class**
c_id     c_name
----------------
1        I
2        II
3        III
4        IV

**tbl_subject**
sub_id    sub_name   sub_max_marks    c_id
-------------------------------------------
1         Maths      100              1
2         Physics    100              1
3         English    50               2     

**tbl_marks**
s_id   sub_id    obtn_marks
-----------------------------------------
1      1         67
2      2         87
3      2         45  
  

Теперь я создал форму (Windows form с использованием c#.net ), где у пользователя будет возможность выбрать класс, предмет и ученика. На основе этих параметров я хочу заполнить таблицу / список, который должен выглядеть следующим образом:

 Class Name   Student Id     Student Name   Subject Name   Marks Obtained
-------------------------------------------------------------------------
I            1              Mike           Maths   
  

Теперь, щелкнув по приведенной выше строке gridview / listview, появится другая форма
, в которой пользователь будет вводить оценки, полученные учащимся по этому конкретному предмету.

Моя проблема в том, что я не могу заполнить gridview / listview в вышеупомянутом формате. Любой код был бы очень полезен. До сих пор я пробовал следующий SQL-запрос:

 SELECT cls.c_name,
stu.s_id, stu.s_name,
sub.sub_name,
mrk.obtn_marks
FROM tbl_student stu
LEFT JOIN tbl_class cls ON cls.c_id = stu.c_id
LEFT JOIN tbl_subject sub ON sub.c_id = cls.c_id
LEFT JOIN tbl_marks mrk ON mrk.s_id = stu.s_id
WHERE cls.cls_id=@cls_id
AND sub.sub_id=@sub_id
AND stu.s_id=@s_id
  

Комментарии:

1. хорошим началом было бы исправление псевдонимов в вашем запросе

2. Попробуйте показать код, который имеет дело с GridView / ListView.

3. Было бы очень полезно, если бы вы рассказали нам, что не так с запросом, который вы пробовали. Я предполагаю, что вам нужно присоединиться tbl_marks к идентификатору студента и идентификатору субъекта.