#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
к идентификатору студента и идентификатору субъекта.