Sql server 参加 患者床上的位置床。loc\U lvl\U 5\U id=位置床。loc\U int\U id左外连接 患者表上的诊断表。[就诊#]=诊断表.vst_int_id左外联接 诊断表上的编码表.icd9\U int\U id=编码表.icd9\U int\U id 其中(bil_cre_dt>=@BeginDateTime)和 bil_cre_dt
我有一个想法可能会对您有所帮助。请尝试以下查询 您的结果数据Sql server 参加 患者床上的位置床。loc\U lvl\U 5\U id=位置床。loc\U int\U id左外连接 患者表上的诊断表。[就诊#]=诊断表.vst_int_id左外联接 诊断表上的编码表.icd9\U int\U id=编码表.icd9\U int\U id 其中(bil_cre_dt>=@BeginDateTime)和 bil_cre_dt,sql-server,Sql Server,我有一个想法可能会对您有所帮助。请尝试以下查询 您的结果数据 select * into #Result from ( select '09/20/2017'DischargeDate ,'12345' MedRec ,'111100' VisitID ,'203' Location ,'TESTER' LastName ,'JEFF' FirstName ,'01/01/1984' DOB ,'90210' ZIP ,'P1'DxRank ,'4005A' Dx union a
select * into #Result from
(
select '09/20/2017'DischargeDate ,'12345' MedRec ,'111100' VisitID ,'203' Location ,'TESTER' LastName ,'JEFF' FirstName ,'01/01/1984' DOB ,'90210' ZIP ,'P1'DxRank ,'4005A' Dx
union all
select '09/20/2017', '12345', '111100', '203', 'TESTER', 'JEFF', '01/01/1984', '90210', 'S2', 'R42'
union all
select '09/20/2017', '12345', '111100', '203', 'TESTER', 'JEFF', '01/01/1984', '90210', 'S3', 'E860'
union all
select '09/21/2017', '23456', '111101', '205', 'TESTER', 'BILL', '02/02/2007', '45321', 'P1', 'N390'
)as a
静态查询
;with cte as (
select * from (
select MedRec,DxRank ,Dx from #result
)as b
pivot(max(Dx)for DxRank in([P1],[S2],[S3]) )as a
)
select distinct b.DischargeDate , b.MedRec , b.VisitID , b.Location , b.LastName , b.FirstName ,b.DOB,[P1],[S2],[S3] from cte a
inner join
(select DischargeDate , MedRec , VisitID , Location , LastName , FirstName , DOB ,ZIP from #Result)b
on b.MedRec=a.Medrec
动态查询
Declare @columns varchar(max)=stuff((select distinct ','+Dxrank from #result for xml path('')),1,1,'')
Declare @Query nvarchar(max)
set @Query=';with cte as (
select * from (
select MedRec,DxRank ,Dx from #result
)as b
pivot(max(Dx)for DxRank in('+@columns+') )as a
)
select distinct b.DischargeDate , b.MedRec , b.VisitID , b.Location , b.LastName , b.FirstName , b.DOB,'+ @columns+ ' from cte a
inner join
(select DischargeDate , MedRec , VisitID , Location , LastName , FirstName , DOB from #Result)b
on b.MedRec=a.Medrec'
print @Query
EXEC SP_EXECUTESQL @Query
我有一个想法可能会对你有所帮助。试试这个 您的结果数据
select * into #Result from
(
select '09/20/2017'DischargeDate ,'12345' MedRec ,'111100' VisitID ,'203' Location ,'TESTER' LastName ,'JEFF' FirstName ,'01/01/1984' DOB ,'90210' ZIP ,'P1'DxRank ,'4005A' Dx
union all
select '09/20/2017', '12345', '111100', '203', 'TESTER', 'JEFF', '01/01/1984', '90210', 'S2', 'R42'
union all
select '09/20/2017', '12345', '111100', '203', 'TESTER', 'JEFF', '01/01/1984', '90210', 'S3', 'E860'
union all
select '09/21/2017', '23456', '111101', '205', 'TESTER', 'BILL', '02/02/2007', '45321', 'P1', 'N390'
)as a
静态查询
;with cte as (
select * from (
select MedRec,DxRank ,Dx from #result
)as b
pivot(max(Dx)for DxRank in([P1],[S2],[S3]) )as a
)
select distinct b.DischargeDate , b.MedRec , b.VisitID , b.Location , b.LastName , b.FirstName ,b.DOB,[P1],[S2],[S3] from cte a
inner join
(select DischargeDate , MedRec , VisitID , Location , LastName , FirstName , DOB ,ZIP from #Result)b
on b.MedRec=a.Medrec
动态查询
Declare @columns varchar(max)=stuff((select distinct ','+Dxrank from #result for xml path('')),1,1,'')
Declare @Query nvarchar(max)
set @Query=';with cte as (
select * from (
select MedRec,DxRank ,Dx from #result
)as b
pivot(max(Dx)for DxRank in('+@columns+') )as a
)
select distinct b.DischargeDate , b.MedRec , b.VisitID , b.Location , b.LastName , b.FirstName , b.DOB,'+ @columns+ ' from cte a
inner join
(select DischargeDate , MedRec , VisitID , Location , LastName , FirstName , DOB from #Result)b
on b.MedRec=a.Medrec'
print @Query
EXEC SP_EXECUTESQL @Query
您正使用哪个数据库引擎..sql server或my sql..?它是sql server。您正使用哪个数据库引擎..sql server或my sql..?它是sql server。
;with cte as (
select * from (
select MedRec,DxRank ,Dx from #result
)as b
pivot(max(Dx)for DxRank in([P1],[S2],[S3]) )as a
)
select distinct b.DischargeDate , b.MedRec , b.VisitID , b.Location , b.LastName , b.FirstName ,b.DOB,[P1],[S2],[S3] from cte a
inner join
(select DischargeDate , MedRec , VisitID , Location , LastName , FirstName , DOB ,ZIP from #Result)b
on b.MedRec=a.Medrec
Declare @columns varchar(max)=stuff((select distinct ','+Dxrank from #result for xml path('')),1,1,'')
Declare @Query nvarchar(max)
set @Query=';with cte as (
select * from (
select MedRec,DxRank ,Dx from #result
)as b
pivot(max(Dx)for DxRank in('+@columns+') )as a
)
select distinct b.DischargeDate , b.MedRec , b.VisitID , b.Location , b.LastName , b.FirstName , b.DOB,'+ @columns+ ' from cte a
inner join
(select DischargeDate , MedRec , VisitID , Location , LastName , FirstName , DOB from #Result)b
on b.MedRec=a.Medrec'
print @Query
EXEC SP_EXECUTESQL @Query