我有一个名为LOPList的表:
a busy cat http://i65.tinypic.com/11c60co.png
我希望结果如下:
LOPID | EMP ID | TIME START (LOPStatus = 'Y') | TIME END (LOPStatus = 'N')
2 | 6 | 2016-03-24T20:05:27+00:00 | 2016-03-24T20:14:41+00:00
5 | 6 | 2016-03-24T20:07:59+00:00 | 2016-03-24T20:13:11+00:00
答案 0 :(得分:1)
尝试:
select LOPID,EmpId,
max(case when LOPStatus='Y' then TimeUpdated end) as time_start,
max(case when LOPStatus='N' then TimeUpdated end) as time_end
from LOPList where JobID= 22 group by LOPID;
答案 1 :(得分:0)
SELECT list.LOPID,list.EmpID as" EMP ID", listY.TimeUpdated as" TIME START(LOPStatus =' Y')&#34 ;, listN.TimeUpdated as" TIME END(LOPStatus =' N')& #34; from(SELECT DISTINCT LOPID,EmpID FROM [TestDB]。[dbo]。[LOPList])AS列表, (从[TestDB]中选择LOPID,LOPStatus,TimeUpdated。[dbo]。[LOPList]其中LOPStatus =' Y')listY, (从[TestDB]中选择LOPID,LOPStatus,TimeUpdated。[dbo]。[LOPList]其中LOPStatus =' N')listN WHERE listY.LOPID = list.LOPID和listN.LOPID = list.LOPID;
你应该知道一些sql语言的besic知识,在这里你应该使用' DISTINCT'声明,谢谢,希望能带给你一些帮助