我有一个表格,其中包含名为'类别'和' TotalTime'。当我运行查询时,我需要生成另外两个名为“Cat1Time'和Cat2Time'”的临时列。
如果连续的总时间是4小时且属于类别1,则应显示“' 4'在Cat1Time列下。如果连续的总时间是4小时且属于类别1,则应显示“' 4'根据“Cat2Time'柱。有没有办法做到这一点?
EntryID | Category | Cat1Time | Cat2Time
2 | 1 | 4 |
3 | 2 | | 4
4 | 1 | 2.5 |
Select EntryID, Category, TotalTime AS Cat1Time
WHERE Category =1, TotalTime as Cat2Time where Category = 2
from LogEntry
无论如何,我知道不会工作......只是为了让你知道我想做什么。任何帮助将不胜感激!
答案 0 :(得分:1)
您需要CASE
声明:
SELECT EntryID, Category, TotalTime,
CASE WHEN Category = 1 THEN
TotalTime
ELSE
NULL
END AS Cat1Time,
CASE WHEN Category = 2 THEN
TotalTime
ELSE
NULL
END AS Cat2Time
FROM LogEntry