bcxx(病床信息表)
SZBQ 所在病区,FJH 房间号,LBBM 类别编码,CWH 床位号,ZT 状态bclb(病床类别表)
LBBM 编码,BCLB 病床类别,RZYF 日住院费,RPHF 日陪护费zkzc(转科转床)
ZYH 住院号,ZRKS 转入科室,ZRBQ 转入病区,ZRBS 转入病室,ZRCH 转入床号,ZRRQ 转入时间bcxx1(包床信息)
ZYH 住院号,BCKS 包床科室,BQH 病区号,FJH 房间号,BCH 包床号,BCSJ 包床时间如果bcxx.zt='占用',那么从zkzc 表取出zyh
如果bcxx.zt='床包',那么从bcxx1表取出zyh (用一条查询语句)原语句:
select bcxx.szbq 所在病区,zkzc.zrks 所在科室,bcxx.fjh 房间号,bclb.bclb 病床类别,
bcxx.cwh 床位号,bcxx.zt 床位状态,zkzc.zyh 住院号,zkzc.zrrq 入住日期
from bcxx left outer join zkzc on bcxx.cwh=zkzc.zrch
and zkzc.zrrq in
(select max(zrrq) from zkzc,bcxx
where bcxx.cwh=zkzc.zrch and bcxx.zt='占用' group by zyh
union
select bcsj from bcxx1,bcxx
where bcxx.cwh=bcxx1.bch and bcxx.zt='包床'),bclb
where bcxx.lbbm=bclb.lbbm order by cwh查询结果:
所在病区|所在科室|房间号|病床类别|床位号|床位状态|住院号 |入住日期
36 74 1-1 普通 01 占用 ZY-028-20041024-0001 2004-10-28 15:55:10
36 NULL 1-1 普通 02 包床 NULL NULL
36 NULL 2-1 普通 03 空床 NULL NULL
36 NULL 2-1 普通 04 空床 NULL NULL
39 74 2-2 特别护理 05 占用 ZY-028-20041024-0002 2004-10-28 15:52:48(注:"包床"表示陪住,02床为01床的陪住,而02床的zyh没有查出来)需要结果:
所在病区|所在科室|房间号|病床类别|床位号|床位状态|住院号 |入住日期
36 74 1-1 普通 01 占用 ZY-028-20041024-0001 2004-10-28 15:55:10
36 74 1-1 普通 02 包床 ZY-028-20041024-0001 2004-10-28 17:55:10
36 NULL 2-1 普通 03 空床 NULL NULL
36 NULL 2-1 普通 04 空床 NULL NULL
39 74 2-2 特别护理 05 占用 ZY-028-20041024-0002 2004-10-28 15:52:48
SZBQ 所在病区,FJH 房间号,LBBM 类别编码,CWH 床位号,ZT 状态bclb(病床类别表)
LBBM 编码,BCLB 病床类别,RZYF 日住院费,RPHF 日陪护费zkzc(转科转床)
ZYH 住院号,ZRKS 转入科室,ZRBQ 转入病区,ZRBS 转入病室,ZRCH 转入床号,ZRRQ 转入时间bcxx1(包床信息)
ZYH 住院号,BCKS 包床科室,BQH 病区号,FJH 房间号,BCH 包床号,BCSJ 包床时间如果bcxx.zt='占用',那么从zkzc 表取出zyh
如果bcxx.zt='床包',那么从bcxx1表取出zyh (用一条查询语句)原语句:
select bcxx.szbq 所在病区,zkzc.zrks 所在科室,bcxx.fjh 房间号,bclb.bclb 病床类别,
bcxx.cwh 床位号,bcxx.zt 床位状态,zkzc.zyh 住院号,zkzc.zrrq 入住日期
from bcxx left outer join zkzc on bcxx.cwh=zkzc.zrch
and zkzc.zrrq in
(select max(zrrq) from zkzc,bcxx
where bcxx.cwh=zkzc.zrch and bcxx.zt='占用' group by zyh
union
select bcsj from bcxx1,bcxx
where bcxx.cwh=bcxx1.bch and bcxx.zt='包床'),bclb
where bcxx.lbbm=bclb.lbbm order by cwh查询结果:
所在病区|所在科室|房间号|病床类别|床位号|床位状态|住院号 |入住日期
36 74 1-1 普通 01 占用 ZY-028-20041024-0001 2004-10-28 15:55:10
36 NULL 1-1 普通 02 包床 NULL NULL
36 NULL 2-1 普通 03 空床 NULL NULL
36 NULL 2-1 普通 04 空床 NULL NULL
39 74 2-2 特别护理 05 占用 ZY-028-20041024-0002 2004-10-28 15:52:48(注:"包床"表示陪住,02床为01床的陪住,而02床的zyh没有查出来)需要结果:
所在病区|所在科室|房间号|病床类别|床位号|床位状态|住院号 |入住日期
36 74 1-1 普通 01 占用 ZY-028-20041024-0001 2004-10-28 15:55:10
36 74 1-1 普通 02 包床 ZY-028-20041024-0001 2004-10-28 17:55:10
36 NULL 2-1 普通 03 空床 NULL NULL
36 NULL 2-1 普通 04 空床 NULL NULL
39 74 2-2 特别护理 05 占用 ZY-028-20041024-0002 2004-10-28 15:52:48
解决方案 »
- 哥把自己给开除了终于自己也吃上“鱿鱼”了[下岗篇]
- pred 与succ 是否与当前的数据类型无关?
- 怎样通过外挂改变别人软件里的dxgrid单元格的值
- 抓了个包,请问cookie里面的数据怎么模仿
- 向各位请教有关计算货物的问题,谢谢回答了.
- DBImage与Image控件
- 学习delphi以后,再也体会不到原来写c/c++程序的那种快感了!
- 小问题,在线等!!!
- 我是英语很差的,但想学编程,学那个工具好?VC,VB,BCB,Delphi,还有什么c#???
- 开发三层程序,用Delphi好不好?
- 在dbgrid中实现某字段打勾功能
- 如何获得的文本信息,然后转换为字符(一个难道了很多高手的问题)
bcxx.cwh 床位号,bcxx.zt 床位状态,zyh1.zyh 住院号,zyh1.zrrq 入住日期
from bcxx left outer join
(select zyh,zrrq,zrks,zrch from zkzc union
select zyh,bcsj,bcks,bch from bcxx1) zyh1
on bcxx.cwh=zyh1.zrch and zyh1.zrrq in
(select max(zrrq) from zkzc,bcxx
where bcxx.cwh=zkzc.zrch and bcxx.zt='占用' group by zyh union
select bcsj from bcxx1,bcxx
where bcxx.cwh=bcxx1.bch and bcxx.zt='包床'),bclb
where bcxx.lbbm=bclb.lbbm order by cwh