2014-06-17 4 views
0

Привет ниже, является сервер кронштейне запросов SQL, который дает выходной сигнал, как:SQL Server кронштейне запросов добавить в общей сложности

Semester| StudentDesc | [A]| [B] |[C] |[D] 
----------------------------------------- 
| 2 | Term1 | 20 | NULL| 5 | 10 
------------------------------------------ 
| 3  | Term2  | 10 | 2 | 2 | 1 
----------------------------------------- 

Я бы выход, чтобы включить в общей сложности (TotalSessions) из A, B, C, D такие как:

Semester| StudentDesc | [A]| [B] |[C] |[D] | TotalSessions 
--------------------------------------------------------- 
| 2 | Term1 | 20 | NULL| 5 | 10 | 35 
-------------------------------------------------------- 
| 3  | Term2  | 10 | 2 | 2 | 1 | 15 
------------------------------------------------------- 

Я полагаю, что было бы столбец называется граф (Stats.SessionNumber) AS TotalSessions в запросе

запрос у меня есть:

SELECT Semester, StudentDesc, [A],[B],[C],[D] 
FROM 
(
SELECT 
Semesters.Semester, Options.StudentDesc, 
/*TotalSessions */ Count(Stats.SessionNumber) AS  
TotalSessions,  TrainerList.ShortName 
FROM Semesters, (StudentList_tbl 
INNER JOIN              
((RegistrarSemestersAndTerms 
INNER JOIN 
Stats ON (StudentSemestersAndTerms.Semester = Stats.Semester) 
AND (StudentSemestersAndTerms.StudentID = Stats.StudentID)) 
INNER JOIN 
Options ON StudentSemestersAndTerms.Q3 = Options.TermID) 
ON StudentList_tbl.StudentID = StudentSemestersAndTerms.StudentID) 
INNER JOIN 
TrainerList ON StudentList_tbl.RTP = TrainerList.TrainerID 
GROUP BY Semesters.Semester, Options.StudentDesc, TrainerList.ShortName 
) as base_query 
PIVOT 
(
Sum(TotalSessions) FOR ShortName IN ([A],[B],[C],[D]) 
) as pivot_query; 

благодаря

+0

@ 8610 ... Это не будет работать как функция Sum принимает только один аргумент в T-SQL. – Deepshikha

ответ

1

Просто wirte как:

SELECT Semester, StudentDesc, [A],[B],[C],[D], 
isnull([A],0)+isnull([B],0)+isnull([C],0)+isnull([D],0) as TotalSessions 
FROM 
--... rest of the query 
+0

Это простое решение, которое хорошо работает. Добавленная часть Isnull объясняет, почему я получил предупреждение с другой группой по запросу с нулевыми значениями. Я снова рассмотрю эти запросы – maggs

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