我不知道如何处理这个,我想创建一个视图
列为FullName,StudentID,HoursPassed,HoursFailed和HoursPassed + HoursFailed为主修金融的学生。
但我的列标题必须是FullName,StudentID,HoursPassed,HoursFailed和HoursAttempted
到目前为止,我有:
CREATE VIEW A5T7 AS
SELECT (firstname || ' ' || lastname) AS "FullName", StudentID, HoursPassed, HoursFailed,
SUM (HoursPassed,HoursFailed) AS "HoursAttempted",
FROM A5
WHERE Upper(Major1)='FIN'OR Upper(Major2)='FIN'
GROUP BY ???
ORDER BY HoursAttempted;
我很确定我的查询错误,某处。我只是不知道如何处理标题名称和SUM值。我的GROUP BY似乎也不对。
我需要五列以及SUM函数来添加最后一列
答案 0 :(得分:0)
SUM()
只接受一个参数。所以,你可以试试这个:
CREATE VIEW A5T7 AS
SELECT (firstname || ' ' || lastname) AS FullName,
StudentID, HoursPassed, HoursFailed,
SUM(HoursPassed + HoursFailed) AS HoursAttempted
FROM A5
GROUP BY Upper(Major1) = 'FIN' AND Upper(Major2) = 'FIN'
ORDER BY HoursAttempted;
编辑:
上述方法不起作用,因为group by
子句实际上是where
子句。我想你的意思是:
CREATE VIEW A5T7 AS
SELECT (firstname || ' ' || lastname) AS FullName,
StudentID,
SUM(HoursPassed + HoursFailed) AS HoursAttempted
FROM A5
WHERE Upper(Major1) = 'FIN' AND Upper(Major2) = 'FIN'
GROUP BY firstname, lastname, StudentId
ORDER BY HoursAttempted;
Here是一个SQL小提琴。