select * from (select c.姓名,f_Get_Age(c.出生日期) as 年龄,decode(c.性别,'1','男','2','女') as 性别,c.身份证号,e.问题名称,b.结束时间 as 出院日期,j.名称,a.结帐金额
from 个人费用记录 a ,服务活动记录 b ,个人信息 c,收入科目 j,个人问题列表 e
where a.个人id=b.个人id
and a.事件id=b.id
and b.摘要='个人入院记录'
and a.个人id=c.id
and a.收入科目id=j.id
and e.个人id =a.个人id
and e.服务记录id=b.id
and e.问题名称 like '%术%'
and b.结束时间 between to_date('2015-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss') and to_date('2018-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss'))pivot (sum(a.结帐金额)for 名称 in(select 收据费目 from 收入科目 ))为什么sum里面写“a.结账金额”不行,但是写“结账金额”就行,还有in后面这个语句总是提示表达式缺失,
from 个人费用记录 a ,服务活动记录 b ,个人信息 c,收入科目 j,个人问题列表 e
where a.个人id=b.个人id
and a.事件id=b.id
and b.摘要='个人入院记录'
and a.个人id=c.id
and a.收入科目id=j.id
and e.个人id =a.个人id
and e.服务记录id=b.id
and e.问题名称 like '%术%'
and b.结束时间 between to_date('2015-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss') and to_date('2018-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss'))pivot (sum(a.结帐金额)for 名称 in(select 收据费目 from 收入科目 ))为什么sum里面写“a.结账金额”不行,但是写“结账金额”就行,还有in后面这个语句总是提示表达式缺失,
解决方案 »
- oracle监听真不懂啊
- 執行成功但結果不對
- 关于一个思路的问题
- 求Oracle 10g Web开发书籍!
- oracle中使用clientdataset的applyupdates进行提交提示表或视图不存在
- Asp.Net 连接Oracle数据库出现的错误请教
- 菜鸟求救sql中select问题~
- 我想结交Oracle的朋友!请大家留下MSN或QQ
- 用gns解析scan vip后 ,已经启动rac 但是nslookup 解析不到已经生成的scan vip
- 求一个对比两个数据库相同结构表的过程,如果一致则不变化,如果不一致,则生成增删改语句存到一张表中
- ORACLE实例无法启动
- Oracle Database11g怎么设置并使用外部的JDK1.8
答:pivot统计的是内层表的结果集,a表是内层表的别名,pivot只能访问结帐金额这个字段。
就好比:
select
from (select a.结帐金额 from 表名 a)
where
where 条件只能使用内层结果集查询处理的结帐金额这个字段,无法使用a.任何字段。
还有in后面这个语句总是提示表达式缺失,
2.in 后面智能使用字段或变量,无法使用select结果集。这个是语法要求。