开发问pg中执行一个简单的语句,多次报错:

> ERROR:  type "sum" does not exist
LINE 1: SELECT SUM
^

  

看看具体的语句,其实是个很简单的语句,怎么会报类型sum不存在呢?

SELECT SUM
(es.money_stock ) 'sum_money',
es.material_no,
es.price
FROM
es
GROUP BY
es.material_no,
es.price;

  

其实这是的问题在于select语句中列的别名的写法规范问题。以下是pg文档中的描述:

在SQL标准中,只要新列名是有效的列名(即与任何保留关键字不同),就可以在输出列名之前省略可选关键字AS。
PostgreSQL的限制更严格:如果新的列名完全匹配任何关键字,则保留AS,无论是否是保留字。
推荐的做法是使用AS或双引号输出列名,以防止与将来添加关键字的任何可能的冲突。

在FROM项中,标准sql和PostgreSQL都允许省略AS之前的AS,如果该别名不是保留的关键字。但是由于语法上的歧义,这对于输出列名称是不切实际的。

所以这里真正的问题是单引号的使用。去掉单引号即可。 当然也可以将单引号换成双引号。

最新文章

  1. 移动硬盘不能识别的常见7种解决方案 ~ By 逆天经验
  2. 20161023 NOIP 模拟赛 T2 解题报告
  3. base64和图片的转换
  4. Webpack配置示例和详细说明
  5. Spark之Streaming
  6. mssql server提示无权限
  7. 微信小程序开发者工具集合包
  8. windows本地提权对照表(转载)
  9. win7(iis7)无法加载运行CSS和图片的解决方法
  10. solr 学习笔记1
  11. img transform:scale 放大在ios下变模糊
  12. 2019全国大学生信息安全竞赛初赛pwn前四题writeup—栈部分
  13. pycahrm 安装Vue项目
  14. 【转】python 退出程序的方式
  15. MUI组件四:选择器、滚动条、单选框、区域滚动和轮播组件
  16. IOC 和DI(转载)
  17. BZOJ.3693.圆桌会议(Hall定理 线段树)
  18. CF733F Drivers Dissatisfaction【链剖】【最小生成树应用】
  19. 使用InstallAnywhere7.1制作Java exe程序安装包
  20. 安装mysql时包冲突解决方法

热门文章

  1. ApplicationContext的名称解释
  2. docker启动报错 docker: Error response from daemon: OCI runtime create failed: container_linux.go:348
  3. 关于TCP/IP
  4. 缓冲加载图片的 jQuery 插件 lazyload.js 使用方法详解
  5. Show which git tag you are on?
  6. 题解:UVa1025 A Spy in the Metro
  7. mysql 常用命令 | 表间 弱关联 join
  8. c#接口interface学习
  9. 什么是JavaEE,什么是Spring
  10. HDU 6583 Typewriter(后缀自动机)