oracle 中 select sum(一个列字段) as ... 在下面有多个表外连接的情况下 提示“未明确定义列”,为什么?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 中 select sum(一个列字段) as ... 在下面有多个表外连接的情况下 提示“未明确定义列”,为什么?相关的知识,希望对你有一定的参考价值。
create table allast3 as
select purarri.rq,purarri.jhdj,sum(purarri.htl)as htl,pinwei.pjpw,price2.pjdj,price2.id
from purarri,pinwei,price2
where purarri.id = pinwei.id
and pinwei.id = price2.id
and purarri.id = price2.id
group by id
create table allast3 as
select purarri.rq,purarri.jhdj,sum(purarri.htl)as htl,pinwei.pjpw,price2.pjdj,price2.id
from purarri,pinwei,price2
where purarri.id = pinwei.id
and pinwei.id = price2.id
and purarri.id = price2.id
group by purarri.rq,purarri.jhdj,pinwei.pjpw,price2.pjdj,price2.id
2)同时因为多个表都包含id这个字段,group by后面的id也必须指明是哪个表的id 参考技术A 你那个 group by id 没有指明那个id 改成 group by purarri.id
但是这个sum sum通过吗?不会提示非group by 表达式吗?
--------------------------------
你试一下下面两个语句看有什么结果:
select sum(purarri.htl)as htl,purarri.htl
from purarri,pinwei,price2
where purarri.id = pinwei.id
and pinwei.id = price2.id
and purarri.id = price2.id
group by id
select sum(purarri.htl)as htl,purarri.htl
from purarri,pinwei,price2
where purarri.id = pinwei.id
and pinwei.id = price2.id
and purarri.id = price2.id
group by purarri.htl
group by purarri.htl 参考技术B group by id未指明是哪个表的id
另外,你select了purarri.rq,purarri.jhdj,pinwei.pjpw,price2.pjdj,price2.id
但就group by一个id,不报‘在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中’的错误?那些列你不加聚合函数? 参考技术C 分组的条件不正确,id标注是属于哪个表的
oracle添加序号
用rownum可以加 但碰到group by 之后加的顺序是乱的 如何解决啊
比如你要按name 进行group by ,然后按name排序
select row_number() over (order by name) rn,name,sum(计算值) from 表名 group by name 参考技术A 建立1个表,多个id字段,且自增,将你的数据插入过去,如果需要的话,可以根据这个id字段更新你原表的排序字段 参考技术B rownum函数作用的column不可以用groupby排序的。以上是关于oracle 中 select sum(一个列字段) as ... 在下面有多个表外连接的情况下 提示“未明确定义列”,为什么?的主要内容,如果未能解决你的问题,请参考以下文章