CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  应用实例

这个统计视图应该怎么建啊? 高手请进

楼主wangjiatom(SB)2004-09-04 09:32:23 在 MS-SQL Server / 应用实例 提问

有下面2表  
   
  病人资料表   dbo.H_INPATIENT  
  字段:住院号   病人姓名   科室   病床号   主治医师   剩余治疗费   是否出院  
   
  病人缴费表   dbo.H_ACCOUNT  
  字段:缴费号   住院号   缴费金额  
   
  ------------------------------------------------------------------  
  我想建立一个视图H_LIST_VIEW   字段如下:  
  住院号   病床号   病人姓名   预缴金   剩余治疗费   主治医师   科室    
   
  说明:  
  1、得到的H_LIST_VIEW中的病人应该是没有出院的,即   dbo.H_INPATIENT.是否出院='否'  
  2、预缴金   就是此病人历次缴费的总和,即   SUM(缴费金额)   GROUP   BY   住院号  
  3、如果某病人没有缴费记录(既没有缴过费),他的信息一样要出现在H_LIST_VIEW中,只是预缴金=0  
   
  求   建立这个   View   的Select语句  
  问题点数:50、回复次数:4Top

1 楼friendliu(无为)回复于 2004-09-04 09:42:04 得分 0

create   view   H_LIST_VIEW    
  as    
   
      select   a.住院号,a.病床号,a.0病人姓名   SUM(a.缴费金额)   as   预缴金   a.剩余治疗费   a0主治医师   a.科室    
      from   dbo.H_INPATIENT   a   left   join     dbo.H_ACCOUNT   b  
          on   a.住院号=b.住院号   and     dbo.H_INPATIENT.是否出院='否'  
                GROUP   BY   a.住院号  
  goTop

2 楼txlicenhe(马可)回复于 2004-09-04 10:00:16 得分 50

create   view   v_test  
  As  
  select   a.住院号,a.病床号,a.病人姓名,isNull(b.预缴金,0)   as   预缴金,a.剩余治疗费,a.主治医师,a.科室    
  from   dbo.H_INPATIENT   a  
  left   join    
  (select   住院号,sum(缴费金额)   as   预缴金   from   dbo.H_ACCOUNT   group   by   住院号)   b  
      on   a.住院号   =   b.住院号  
   
  Top

3 楼wangjiatom(SB)回复于 2004-09-04 10:00:40 得分 0

运行出错啊  
  SUM(a.缴费金额)     <----   缴费金额   是   dbo.H_ACCOUNT   中的列啊  
   
  我按你的做:  
  --------------------------------------------------------  
  SELECT   a.住院号,   a.病床号,   a.病人姓名,   SUM(a.缴费金额)   AS   预缴金,   a.剩余治疗费,    
              a.主治医师,   a.科室  
  FROM   dbo.H_INPATIENT   a   LEFT   OUTER   JOIN  
              dbo.H_ACCOUNT   b   ON   a.住院号   =   b.住院号   AND   a.是否出院   =   '否'  
  GROUP   BY   a.住院号  
  ------------------------------------------------------------  
  提示列“   缴费金额”无效  
   
  后来按你的自己改了一下:  
  ---------------------------------------------------  
  SELECT   dbo.H_INPATIENT.住院号,   dbo.H_INPATIENT.病床号,   dbo.H_INPATIENT.病人姓名,    
              SUM(dbo.H_ACCOUNT.交费金额)   AS   预缴金,   dbo.H_INPATIENT.剩余治疗费,    
              dbo.H_INPATIENT.主治医师,   dbo.H_INPATIENT.科室  
  FROM   dbo.H_INPATIENT   LEFT   OUTER   JOIN  
              dbo.H_ACCOUNT   ON   dbo.H_INPATIENT.住院号   =   dbo.H_ACCOUNT.住院号   AND    
              dbo.H_INPATIENT.是否出院   =   '否'  
  GROUP   BY   dbo.H_INPATIENT.住院号  
  --------------------------------------------------------  
   
  还是出错,  
  提示:dbo.H_INPATIENT.病床号在选择列表中无效,因为该列即不包含在聚合函数中,  
  也不包含在Group   By   子句中。  
   
  到底应该怎么搞啊?Top

4 楼wangjiatom(SB)回复于 2004-09-04 10:02:53 得分 0

txlicenhe(马可)    
   
  谢谢  
   
  你的可以    
   
  给分Top

相关问题

  • ■■■■求SQL语句 选择表 月统计 创建视图■■■■
  • 急,求一统计sql语句建视图
  • 如何在视图中统计不同表单创建的文档个数?
  • 视图的创建
  • mysql4.0.20a 创建视图
  • 视图的创建《100分》
  • 谁会建树型视图?
  • 动态创建视图
  • 创建视图的问题
  • Oracle创建视图求助

关键词

  • 字段
  • view
  • 缴费
  • inpatient
  • 住院号
  • 病人
  • 主治医师
  • 科室
  • 剩余治疗费
  • 预缴金

得分解答快速导航

  • 帖主:wangjiatom
  • txlicenhe

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo