ora-00904 标识符无效

Apeng11668 2016-01-27 06:44:00
SELECT (SELECT GDS_ID
FROM (SELECT T.GDS_ID, SUM(ORDER_MONEY)
FROM T_ORD_INFO T
WHERE T.ORDER_ID = INFO.ORDER_ID
GROUP BY T.GDS_ID
ORDER BY SUM(ORDER_MONEY) DESC)
WHERE ROWNUM = 1) AS GDS_ID --商品名称
FROM T_ORD_MAIN_INFO INFO
报info.order_id标识符无效,实际是表T_ORD_MAIN_INFO是存在该字段的,请问是什么问题。
...全文
962 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zy18755122285 2016-03-23
  • 打赏
  • 举报
回复
sql语句在执行到info.order_id,没有执行 FROM T_ORD_MAIN_INFO INFO这句,所以出错
bo871747022 2016-03-23
  • 打赏
  • 举报
回复
嵌套问题,程序认不出info这个别名
小灰狼W 2016-01-28
  • 打赏
  • 举报
回复
嵌套太多,隔了2层认不到。可以改成 SELECT (SELECT max(T.GDS_ID)KEEP(dense_rank LAST ORDER BY SUM(ORDER_MONEY)) FROM T_ORD_INFO T WHERE T.ORDER_ID = INFO.ORDER_ID GROUP BY T.GDS_ID ) AS GDS_ID --商品名称 FROM T_ORD_MAIN_INFO INFO
ghx287524027 2016-01-28
  • 打赏
  • 举报
回复
嵌套select执行顺序为由内向外,执行内部select时,还没有INFO这个别名,所以是无效的

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧