SQL视图中SUM()函数报错‘function sum(unknown) is not unique’问题排查
SUM()函数报错原因及修复方案
错误根源
你在SUM()里用单引号包裹了copies in stock,这会让PostgreSQL将其视为字符串常量,而非要计算的数值字段。SUM()仅支持数值类型的输入,而字符串属于unknown类型,数据库无法确定使用哪个SUM函数重载,因此抛出function sum(unknown) is not unique错误。
修复后的代码
CREATE VIEW InfoPressStock AS SELECT SUM("copies in stock") AS "stock total" FROM booksinstock INNER JOIN bpa ON booksinstock.book = bpa.book WHERE publisher = 'Info Press';
关键说明
- 带空格的字段名必须用双引号("")包裹,明确告诉数据库这是一个字段引用
- 简化JOIN写法,无需给表连接加额外括号
- 修正后SUM()会正确识别
copies in stock的整数类型,计算出预期的库存总数102
内容的提问来源于stack exchange,提问作者Brenda_love
相关产品推荐
相关产品推荐

