22,209
社区成员
发帖
与我相关
我的任务
分享
select A.*,B.* from BaseInfo A inner join
(
select A.KDBH,
max(case when A.JGClass='A1' then A.CheckResult else null end) as A1R ,
max(case when A.JGClass='A1' then A.CheckTime else null end) as A1T ,
max(case when A.JGClass='A2' then A.CheckResult else null end) as A2R ,
max(case when A.JGClass='A2' then A.CheckTime else null end) as A2T ,
max(case when A.JGClass='B' then A.CheckResult else null end) as BR ,
max(case when A.JGClass='B' then A.CheckTime else null end) as BT
from
(
select KDBH,JGClass,
CheckTime =MAX(CheckTime),
CheckResult = (select top 1 CheckResult from CheckList where KDBH =CheckList.KDBH and JGClass=CheckList.JGClass order by CheckTime desc )
from CheckList group by KDBH,JGClass
) as A
group by A.KDBH) B
on A.KDBH= B.KDBH
select A.KDBH,
max(case when A.JGClass='A1' then A.CheckResult else null end) as A1R ,
max(case when A.JGClass='A1' then A.CheckTime else null end) as A1T ,
max(case when A.JGClass='A2' then A.CheckResult else null end) as A2R ,
max(case when A.JGClass='A2' then A.CheckTime else null end) as A2T ,
max(case when A.JGClass='B' then A.CheckResult else null end) as BR ,
max(case when A.JGClass='B' then A.CheckTime else null end) as BT
from
(
select KDBH,JGClass,
CheckTime =MAX(CheckTime),
CheckResult = (select top 1 CheckResult from CheckList where KDBH =CheckList.KDBH and JGClass=CheckList.JGClass order by CheckTime desc )
from CheckList group by KDBH,JGClass
) as A
group by A.KDBH
select
r.*
from dbo.BaseInfo t join
(select KDBH,JGClass,CheckResult
from CheckList h
where JGClass in ('A1','A2','B') and CheckTime in
(select max(CheckTime) from CheckList where KDBH = h.KDBH and JGClass = h.JGClass)
)
r
on t.KDBH = r.KDBH
SELECT KDBH,
max(case when JGClass='a1' then b.CheckTime else '' end) as a1t,
max(case when JGClass='a1' then b.CheckResult else '' end) as a1r,
...
FROM dbo.BaseInfo a,
(
SELECT
JGClass,CheckTime,CheckResult
FROM CheckList t
where CheckTime=(select max(CheckTime) from CheckList where JGClass=t.JGClass)
and JGClass in('a1','a2','b')) b
where a.KDBH =b.KDBH
select
KDBH,
max(case when JGClass = 'A1' then CheckResult else '' end) as 'A1R',
...
from
CheckList
group by
KDBH