2016-09-08 5 views
0

Я новичок в ASP. Мне нужна помощь в создании отчета. У меня есть запрос SQLОтчет RDLC с подзапросом dataset

SELECT StudentID, StudentName, SectionID, ExamID, SubjectID, Subject, Marks, TotalMarks 
, Percentage, Grade, (SELECT MAX(Marks) AS Exp1 
FROM tbl_Result 
WHERE (SectionID = @SectionID) 
    AND (SubjectID = view_StudentResult.SubjectID)) AS SubjectToper 
    FROM view_StudentResult WHERE (StudentID = @StudentID) 

Когда я отобразить его в отчете, все остальные поля заполняются по желанию, но SubjectToper поле отображается пустым. Может ли кто-нибудь помочь в этом элегантным образом?

+0

Если вы запустите этот запрос в SSMS, вы получите правильный результат? Разумеется, с параметрами, установленными на реальные значения. – owczarek

+0

Да, он дает правильный результат в SSMS, но в RDLC он показывает поле 'subjectToper' пустое. – Qaisar

ответ

0

Попробуйте заполнить это поле с помощью Exp1.

Вы даете весь подзапрос псевдоним SubjectToper, но для фактического выбора указан псевдоним Exp1.

Отъезд this explanation of sub queries. Особенно последний пример, когда они присваивают вспомогательный запрос значению. Может, это сработает?

Вашего SQL будет выглядеть примерно так:

SELECT StudentID, StudentName, SectionID, ExamID, SubjectID, Subject, Marks, TotalMarks, Percentage, Grade, 
    SubjectToper = (SELECT MAX(Marks) FROM tbl_Result 
    WHERE (SectionID = @SectionID) AND (SubjectID = view_StudentResult.SubjectID)) 
FROM view_StudentResult WHERE (StudentID = @StudentID) 

Уведомления я удалил псевдонимы и присвоенной суб запрос к SubjectToper.

Я надеюсь, что это сработает, иначе я боюсь, что у меня нет идей.

+0

'Exp1 'не отображается как поле в наборе данных. – Qaisar

+0

Обновлен мой оригинальный комментарий с другой идеей, которую вы можете попробовать. –

+0

Еще один результат :(В любом случае спасибо за ваше время. Надеюсь получить помощь от кого-то. – Qaisar

Смежные вопросы