我有问题让列排队,start_time是end_time之上的一行。SQL帮助。如何排列同一行上的值,将一列向上移动?
这是我的代码:
SELECT B.NAME
,MAX(case when DESCRIPTION = 'Green' then Final_Value end) as Start_Time
,MAX(case when DESCRIPTION = 'Red' then Final_Value end) as End_Time
FROM mydata a
JOIN ref_val B
ON A.ref_res = B.ref_res
WHERE B.COMPANY = 'abc'
GROUP BY B.NAME
这就是我想要得到
The result looks like this:
Name Start_time End_time
1 John 5/6/15 6:30
2 John2 5/7/15 4:30 5/6/15 8:30
3 Ben 5/8/15 2:30 5/7/15 7:25
4 Ben2 5/9/15 3:10 5/8/15 4:10
I want it to look like this:
Name Start_time End_time
1 John 5/6/15 6:30 5/6/15 8:30
2 John2 5/7/15 4:30 5/7/15 7:25
3 Ben 5/8/15 2:30 5/8/15 4:10
4 Ben2 5/9/15 3:10 5/9/15 5:20
您的模式是什么? – kmoser
您可能希望在查询之前显示示例数据 –