--分析医院提供的数据表文件各字段的含义及表与表中的关键字(即主键),初步确定建立分析模型
select * from yzdm(物价核定的收费标准之一)
select * from hy(物价核定的收费标准之二)
select * from mx05(2005年的收费明细记录)
--由于医院提供的物价核定的价格标准分存在两个不同的表中,为方便查询,首先将这两个表合并,因此,
--必须先要创建一个将两个表合并的视图
create view v1
as
select 代码,项目,单价 from yzdm
union
select 代码,项目,单价 from hy
--在此创建的视图的基础上形成一张新表,命名为newbz,在newbz的基础上再形成一张去除掉单价为0的记录
--的表,命名为bz
select * into newbz from v200
where 单价<>0

select 代码,项目,cast(单价 as numeric(8,2)) 物价定价 into bz from newbz where 单价<>0

select * from bz
--建立bz与医院的业务数据库mx05表的关联,查询2005年度收费对比情况,经统计,共超标收费178034元
create view v2
as
select zyh 住院号,代码,je 开票金额,sl 药品数量,cast(sl*(cast(je/sl as numeric(10,2))-物价定价) as numeric(10,2)) 违规金额,cast(je/sl as numeric(10,2)) 实际单价,
物价定价 
from mx05 a left join bz b on a.fbh=b.代码
where a.je/sl<>b.物价定价 and sl<>0 and je<>0

select * into 医院05年超标收费明细 from v201 where 违规金额>0
select * from 医院05年超标收费明细

select sum(违规金额) 违规金额合计 from 医院05年超标收费明细

--查询2004年度收费对比情况,共超标收费1,878,583.66元
create view v3
as
select zyh 住院号,代码,je 开票金额,sl 药品数量,cast(sl*(cast(je/sl as numeric(10,2))-物价定价) as numeric(10,2)) 违规金额,cast(je/sl as numeric(10,2)) 实际单价,
物价定价 
from mx04 a left join bz b on a.fbh=b.代码
where a.je/sl<>b.物价定价 and sl<>0 and je<>0 and b.物价定价 is not null

select * into 医院04年超标收费明细 from v202 where 违规金额>0

select * from 医院04年超标收费明细

select sum(违规金额) 违规金额合计 from 医院04年超标收费明细

--查询2003年度收费对比情况,共超标收费1,101,230.75元
create view v4
as
select zyh 住院号,代码,je 开票金额,sl 药品数量,cast(sl*(cast(je/sl as numeric(10,2))-物价定价) as numeric(10,2)) 违规金额,cast(je/sl as numeric(10,2)) 实际单价,
物价定价 
from mx03 a left join bz b on a.fbh=b.代码
where a.je/sl<>b.物价定价 and sl<>0 and je<>0 and b.物价定价 is not null

select * into 医院2003年超标收费明细 from v203 where 违规金额>0

select * from 医院2003年超标收费明细

select sum(违规金额) 违规金额合计 from 医院2003年超标收费明细

DRGs 用sql语句如何查出医院超标准收费的一则案例相关推荐

  1. SqlServer用SQL语句将查出的数据直接插入到另一个张的表中

    示例代码: INSERT INTO dbo.Barcode( BarNo ,FiscalYear ,FiscalMonth ,BarType ,ItemId ,ItemName ,WhId ,WhNa ...

  2. sql语句,查出多条数据只取第一条

    select * from (select * from user) where rownum=1;

  3. mysql 一个sql查出俩个count_sql一个表中同时查询两个count的sql语句

    我有一个question表,里面一条记录是一道题,现在我要在界面上显示每套题的信息,需要获取每套题的题目数量和已审核的数量.(statu=1为已审核,0为未审核)表结构如下questionIDpape ...

  4. sqlserver 抓取所有执行语句 SQL语句分析 死锁 抓取

    sqlserver 抓取所有执行语句 SQL语句分析 死锁 抓取 原文:sqlserver 抓取所有执行语句 SQL语句分析 死锁 抓取 在多人开发中最头疼的是人少事多没有时间进行codereview ...

  5. DRGs 巧用SQL语句检查医院医疗收费和信息系统漏洞

    一.背景和目标 通过运用SQL查询语句的方式,检查医院药品及医疗服务项目收费的合法性.合规性和医疗信息系统数据的真实性.准确性,有针对性地提出改进的意见和建议,促使医院加强内部管理,规范收费行为,完善 ...

  6. DRGS运用SQL数据库查询医院分解住院

    利用其中的住院结算表,查询该医院分解住院情况.以下是查询方法步骤: 一.使用排名开窗函数,对每个患者当年住院情况进行分组,形成住院次数序号,并生成分解住院1表. SQL语句: select row_n ...

  7. 一条sql语句查出男生前5名和女生前五名

    表t_stu:其中三个字段:name,gender,grade:要求用一条sql语句查出男生前5名和女生前五名 select * from t_stu a where 5>(select cou ...

  8. 用一条SQL语句查出每门课都大于80分的学生的姓名

    用一条SQL语句查出每门课都大于80分的学生的姓名,数据表结构如下: 建表SQL如下: create table score(id int primary key auto_increment,nam ...

  9. 一条SQL语句查出每门课程的及格人数和不及格人数

    题目描述: 现有表stu_score ,有字段 id, cid, score .分别代表 学生id,课程id,分数. 要求:用一条SQL语句查询出每门课程的及格人数和不及格人数. select cid ...

最新文章

  1. 【设计模式】从设计到模式
  2. 设置IP安全策略将***阻杀在端口外
  3. Python将是人工智能时代的最佳编程语言
  4. 根据接口入参不同返回不同对象集合的方法
  5. 多角度让你彻底明白yield语法糖的用法和原理及在C#函数式编程中的作用
  6. 在ultraedit查找每行第二个单词_新手收藏!亚马逊关键字查找
  7. 剑指Offer - 面试题62. 圆圈中最后剩下的数字(约瑟夫环 递推公式)
  8. 发年终奖了,创了新高
  9. fopen的路径怎么写_用C++写光线追踪:单根光线的渲染
  10. 难以拒绝的中国风雅致新年元旦海报来袭
  11. Mybatis 实现关联表查询
  12. [vb]On Error GoTo 0和On Error resume区别
  13. sql server中case的简单示例
  14. 入职与离职手续、五险一金、档案
  15. 什么是mysql数据字典_数据字典是什么?
  16. 【随笔】Linux drop_caches
  17. Java实现IP代理
  18. 什么是僵尸进程(Zombie Processes)
  19. 病毒分析报告-熊猫烧香
  20. telnet不是内部或外部命令

热门文章

  1. linux访问oracle配置,Linux下配置Oracle监听器
  2. SQL刷题——查找最晚入职员工的所有信息
  3. openwrt查看linux内核,OPENWRT 更换内核版本位置
  4. FTP中MLST概要解读---解决获取ftpFile为null的另外一种方式
  5. java两个一维数组相加求和_数组求和统计
  6. 软件许可证的隐性成本
  7. 使用多线程优化批量导入的回显功能
  8. ubuntu 系统里面原来可以输入中文,突然输入法不能输入中文,但是搜索框内可以输入中文!解决办法
  9. 拉格朗日插值和求多项式系数
  10. 论文总结:基于深度学习的图像风格迁移研究