好的,
所以我有一个包含各种列和大约40条记录的表,我需要做的是创建一个只显示3列的视图,然后根据其他列的结果计算新列。
列如下,JobID,SDate& FDate(开始日期和结束日期),我需要的是一个在此视图中称为成绩的新列,如果开始日期和完成日期与'A +'相同,如果花费超过一天则为'A',如果超过两天然后'B',Else'C'。
最好的方法是什么,我对SQL很新,而且我的经验有点受限。
我正在使用SQL Server Management Studio R2。 是的,它必须是一个观点,因为这是给我的任务。
提前致谢!
答案 0 :(得分:0)
您需要使用CASE
:
SELECT JobID, SDate, FDate, CASE WHEN SDate = FDate THEN 'A+' WHEN DATEADD(d, 1, SDate) = FDate THEN 'A' WHEN DATEADD(d, 2, SDate) = FDate THEN 'B' ELSE 'C' END AS Grades
FROM ...