0

好吧,伙计们,

所以我有一个包含各种列和大约 40 条记录的表,我需要做的是创建一个只显示 3 列的视图,然后根据其他列的结果计算一个新列。

列如下,JobID、SDate 和 FDate(开始日期和 FinishDate),我需要的是在这个视图中称为等级的新列,如果开始日期和完成日期相同,则为“A+”,如果花费超过一天则为“A”,如果超过两天则为“B”,否则为“C”。

最好的方法是什么,我对 SQL 很陌生,我的经验有些有限。

我正在使用 SQL Server Management Studio R2。是的,它必须是一种观点,因为这是交给我的任务。

提前致谢!

4

1 回答 1

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 ...
于 2013-09-08T22:34:29.280 回答