Для решения SQL - запроса необходима помощь.
в таблице student данные представлены в следующем виде,
sID sName sub marks 1 Savita EC1 30 1 Savita EC2 19 1 Savita EC3 28 1 Savita EC4 30 1 Savita EC5 60 2 Vidya EC1 90 2 Vidya EC2 80 2 Vidya EC3 85 2 Vidya EC4 75 2 Vidya EC5 99 3 Tanesh EC1 75 3 Tanesh EC2 80 3 Tanesh EC3 85 3 Tanesh EC4 28 3 Tanesh EC5 86
я хочу получить записи в приведенной ниже форме с помощью sql-запроса.
Sname EC1 EC2 EC3 EC4 EC5 Total Savita 30 19 28 30 60 167 Tanesh 75 80 85 28 86 354 Vidya 90 80 85 75 99 429
я использовал этот SQL запрос:
select fStudentname as Student_name, EC1 ,EC2,EC3,EC4,EC5,Total =([EC1]+[EC2]+[EC3]+[EC4]+[EC5]) from (select fstudentname ,FSubject ,Fmarks from Student) a PIVOT(sum(Fmarks) For fsubject in (EC1,EC2,EC3,EC4,EC5) )b
запрос работает нормально, но я не хочу использовать PIVOT, я хочу использовать JOIN. Разве это возможно?
Что я уже пробовал:
SQL-запрос, который я использовал, заключается в том, чтобы получить каждую запись. но проблема в том, что мне нужен SQL-запрос без использования каких-либо функций, таких как PIVOT и все такое. Можно ли получить записи в этой форме с помощью JOIN?? Пожалуйста, помогите мне. :)
Maciej Los
Почему? Рекомендуется использовать pivot для такой ситуации.
FireMonkey92
я знаю, сэр, но на собеседовании они упомянули, что не используют PIVOT. Я пытался, но так и не смог решить эту проблему..