这是天书吗??
----------------------------------------------------------
Select bb.编号,
bb.姓名,
bb.住院号,
To_Char(cc.入院时间, 'yyyy-MM-dd HH24:mi'),
To_Char(dd.化验时间, 'yyyy-MM-dd HH24:mi') 化验时间,
aa.ALT,
aa.AST,
aa.GGT,
aa.ALP,
aa.ALB,
aa.TB,
aa.DB
From (Select a.病人ID,
Max(a.ALT) ALT,
Max(a.AST) AST,
Max(a.GGT) GGT,
Max(a.ALP) ALP,
Max(a.ALB) ALB,
Max(a.TB) TB,
Max(a.DB) DB
From (Select 病人ID,
住院ID,
内容 As ALT,
Null As AST,
Null As GGT,
Null As ALP,
Null As ALB,
Null As TB,
Null As DB
From IHL_病人_化验检查
Where 父项 = '肝功'
And 项目 = '谷丙转氨酶'
Union All
Select 病人ID,
住院ID,
Null As ALT,
内容 As AST,
Null As GGT,
Null As ALP,
Null As ALB,
Null As TB,
Null As DB
From IHL_病人_化验检查
Where 父项 = '肝功'
And 项目 = '谷草转氨酶'
Union All
Select 病人ID,
住院ID,
Null As ALT,
Null As AST,
内容 As GGT,
Null As ALP,
Null As ALB,
Null As TB,
Null As DB
From IHL_病人_化验检查
Where 父项 = '肝功'
And 项目 = '谷氨酰转肽酶'
Union All
Select 病人ID,
住院ID,
Null As ALT,
Null As AST,
Null As GGT,
内容 As ALP,
Null As ALB,
Null As TB,
Null As DB
From IHL_病人_化验检查
Where 父项 = '肝功'
And 项目 = '碱性磷酸酶'
Union All
Select 病人ID,
住院ID,
Null As ALT,
Null As AST,
Null As GGT,
Null As ALP,
内容 As ALB,
Null As TB,
Null As DB
From IHL_病人_化验检查
Where 父项 = '肝功'
And 项目 = '白蛋白'
Union All
Select 病人ID,
住院ID,
Null As ALT,
Null As AST,
Null As GGT,
Null As ALP,
Null As ALB,
内容 As TB,
Null As DB
From IHL_病人_化验检查
Where 父项 = '肝功'
And 项目 = '总胆红素'
Union All
Select 病人ID,
住院ID,
Null As ALT,
Null As AST,
Null As GGT,
Null As ALP,
Null As ALB,
Null As TB,
内容 As DB
From IHL_病人_化验检查
Where 父项 = '肝功'
And 项目 = '直接胆红素') a,
(Select 病人ID, Min(住院ID) As 住院ID
From IHL_病人_化验检查
Group By 病人ID) b
Where a.病人ID = b.病人ID
And a.住院ID = b.住院ID
Group by a.病人ID) aa,
IHL_病人_基本信息 bb,
IHL_病人_住院信息 cc,
(Select 病人ID, Min(住院ID) As 住院ID, Min(时间) As 化验时间
From IHL_病人_化验检查
Group By 病人ID) dd
Where aa.病人ID = bb.ID
And bb.ID = cc.病人ID
And cc.ID = dd.住院ID
Order By bb.编号, cc.入院时间
----------------------------------------------------------
Select bb.编号,
bb.姓名,
bb.住院号,
To_Char(cc.入院时间, 'yyyy-MM-dd HH24:mi'),
To_Char(dd.化验时间, 'yyyy-MM-dd HH24:mi') 化验时间,
aa.ALT,
aa.AST,
aa.GGT,
aa.ALP,
aa.ALB,
aa.TB,
aa.DB
From (Select a.病人ID,
Max(a.ALT) ALT,
Max(a.AST) AST,
Max(a.GGT) GGT,
Max(a.ALP) ALP,
Max(a.ALB) ALB,
Max(a.TB) TB,
Max(a.DB) DB
From (Select 病人ID,
住院ID,
内容 As ALT,
Null As AST,
Null As GGT,
Null As ALP,
Null As ALB,
Null As TB,
Null As DB
From IHL_病人_化验检查
Where 父项 = '肝功'
And 项目 = '谷丙转氨酶'
Union All
Select 病人ID,
住院ID,
Null As ALT,
内容 As AST,
Null As GGT,
Null As ALP,
Null As ALB,
Null As TB,
Null As DB
From IHL_病人_化验检查
Where 父项 = '肝功'
And 项目 = '谷草转氨酶'
Union All
Select 病人ID,
住院ID,
Null As ALT,
Null As AST,
内容 As GGT,
Null As ALP,
Null As ALB,
Null As TB,
Null As DB
From IHL_病人_化验检查
Where 父项 = '肝功'
And 项目 = '谷氨酰转肽酶'
Union All
Select 病人ID,
住院ID,
Null As ALT,
Null As AST,
Null As GGT,
内容 As ALP,
Null As ALB,
Null As TB,
Null As DB
From IHL_病人_化验检查
Where 父项 = '肝功'
And 项目 = '碱性磷酸酶'
Union All
Select 病人ID,
住院ID,
Null As ALT,
Null As AST,
Null As GGT,
Null As ALP,
内容 As ALB,
Null As TB,
Null As DB
From IHL_病人_化验检查
Where 父项 = '肝功'
And 项目 = '白蛋白'
Union All
Select 病人ID,
住院ID,
Null As ALT,
Null As AST,
Null As GGT,
Null As ALP,
Null As ALB,
内容 As TB,
Null As DB
From IHL_病人_化验检查
Where 父项 = '肝功'
And 项目 = '总胆红素'
Union All
Select 病人ID,
住院ID,
Null As ALT,
Null As AST,
Null As GGT,
Null As ALP,
Null As ALB,
Null As TB,
内容 As DB
From IHL_病人_化验检查
Where 父项 = '肝功'
And 项目 = '直接胆红素') a,
(Select 病人ID, Min(住院ID) As 住院ID
From IHL_病人_化验检查
Group By 病人ID) b
Where a.病人ID = b.病人ID
And a.住院ID = b.住院ID
Group by a.病人ID) aa,
IHL_病人_基本信息 bb,
IHL_病人_住院信息 cc,
(Select 病人ID, Min(住院ID) As 住院ID, Min(时间) As 化验时间
From IHL_病人_化验检查
Group By 病人ID) dd
Where aa.病人ID = bb.ID
And bb.ID = cc.病人ID
And cc.ID = dd.住院ID
Order By bb.编号, cc.入院时间
-----------------------------------------------
Select 病人ID,
住院ID,
decode(项目,'谷丙转氨酶','内容',null) As ALT,
...........
From IHL_病人_化验检查
Where 父项 = '肝功'
and 项目 in ('谷丙转氨酶',....)
呵呵,看了就头晕
把Oracle报给你的错误号(信息)贴出来,有的时候只看SQL很难看出问题来
---------------------------------------------------------------------------
select
bb.编号,
bb.姓名,
bb.住院号,
To_Char(cc.入院时间, 'yyyy-MM-dd HH24:mi'),
To_Char(dd.化验时间, 'yyyy-MM-dd HH24:mi') 化验时间,
aa.ALT,
aa.AST,
aa.GGT,
aa.ALP,
aa.ALB,
aa.TB,
aa.DB
from
(select
病人ID,
住院ID,
max(decode(项目,'谷丙转氨酶' ,内容)) as ALT,
max(decode(项目,'谷草转氨酶' ,内容)) as GGT,
max(decode(项目,'谷氨酰转肽酶',内容)) as GGT,
max(decode(项目,'碱性磷酸酶' ,内容)) as ALP,
max(decode(项目,'白蛋白' ,内容)) as ALB,
max(decode(项目,'总胆红素' ,内容)) as TB,
max(decode(项目,'直接胆红素' ,内容)) as DB
From
IHL_病人_化验检查
where
父项 = '肝功'
group by
病人ID,住院ID) a
where
a.病人ID = b.病人ID
and
a.住院ID = b.住院ID) aa,
IHL_病人_基本信息 bb,
IHL_病人_住院信息 cc,
(select
病人ID,
Min(住院ID) As 住院ID,
Min(时间) As 化验时间
From
IHL_病人_化验检查
Group By 病人ID) dd
where
aa.病人ID = bb.ID
and
aa.病人ID = cc.病人ID
and
aa.病人ID = dd.病人ID
and
aa.住院ID = dd.住院ID
--------------------------------------------------------
select
bb.编号,
bb.姓名,
bb.住院号,
To_Char(cc.入院时间, 'yyyy-MM-dd HH24:mi') as 入院时间,
To_Char(dd.化验时间, 'yyyy-MM-dd HH24:mi') as 化验时间,
aa.ALT,
aa.AST,
aa.GGT,
aa.ALP,
aa.ALB,
aa.TB,
aa.DB
from
(select
病人ID,
住院ID,
max(decode(项目,'谷丙转氨酶' ,内容)) as ALT,
max(decode(项目,'谷草转氨酶' ,内容)) as GGT,
max(decode(项目,'谷氨酰转肽酶',内容)) as GGT,
max(decode(项目,'碱性磷酸酶' ,内容)) as ALP,
max(decode(项目,'白蛋白' ,内容)) as ALB,
max(decode(项目,'总胆红素' ,内容)) as TB,
max(decode(项目,'直接胆红素' ,内容)) as DB
From
IHL_病人_化验检查
where
父项 = '肝功'
group by
病人ID,住院ID) aa,
IHL_病人_基本信息 bb,
IHL_病人_住院信息 cc,
(select
病人ID,
Min(住院ID) As 住院ID,
Min(时间) As 化验时间
From
IHL_病人_化验检查
Group By 病人ID) dd
where
aa.病人ID = bb.ID
and
aa.病人ID = cc.病人ID
and
aa.病人ID = dd.病人ID
and
aa.住院ID = dd.住院ID