当前位置: 首页 > 知识库问答 >
问题:

在postgres中找不到列[重复]

公良高刚
2023-03-14

我试图使用它们的共同点将两个表连接在一起,但是我一直在找不到特定的列,我可以清楚地看到该列在那里。

SELECT "productId", "unitId", SUM(quantity) 
    FROM consumable_pack_item INNER JOIN product ON consumable_pack_item.productId = product.id 
        GROUP BY "productId", "unitId"; 
ERROR:  column consumable_pack_item.productid does not exist
LINE 2:  FROM consumable_pack_item INNER JOIN product ON consumable_...
                                                         ^
HINT:  Perhaps you meant to reference the column "consumable_pack_item.productId".
SQL state: 42703
Character: 95

共有1个答案

梁楷
2023-03-14

你需要知道,“productId”productId不是一回事。您使用双引号定义了第一个区分大小写的。

一般来说,在定义列和表时,应该避免使用双引号。您已经犯下了这种违规行为,因此您需要继续在引用列的任何地方使用双引号:

SELECT cpi."productId", "unitId", SUM(quantity) 
FROM consumable_pack_item cpi INNER JOIN
     product p
     ON cpi."productId" = p.id 
GROUP BY cpi."productId", "unitId"; 

请注意,我添加了表别名,因此查询更容易编写和阅读。我还开始限定列名。如果您有一个以上的表引用,我强烈建议您将查询中的所有列名限定为一个好习惯。

 类似资料:
  • 如果一列存在于两个数据帧之间,我想删除它。我检查它是否存在,然后尝试删除它,但它说找不到。 错误:

  • 我一直在尝试将我的数据库从MySql迁移到Postgres,但我遇到了一个大问题,似乎找不到解决方法。 现在,在我访问数据库并获取数据的C#代码中,我向数据库发送以下查询: 我试着在列名周围没有引号的情况下查询它,但这只会让我得到 我的一个朋友暗示会发生这种情况,因为Postgres让引号之外的所有内容都是小写的,但我们又回到了另一个问题。 我是Postgres的新手,我正在努力学习这一点,但这是

  • 问题内容: 我有一个列表列表,每个列表都有一个重复序列。我正在尝试计算列表中重复整数序列的长度: 哪个会返回: 任何建议或技巧都将受到欢迎。我现在正在尝试使用re.compile来解决这个问题,但是它不太正确。 问题答案: 通过迭代2到一半序列长度之间的猜测来猜测序列长度。如果未发现任何模式,则默认返回1。 得到(如预期): 根据要求,此替代方法可提供最长的重复序列。因此,它将为list_b返回4

  • 除了去掉“D”之外,有没有办法。从第一个查询开始,使第一个代码段不抛出错误消息? 以下是源代码:

  • 我是一名学习使用jsp和Servlet构建Web应用程序的学生。一个月以来,我的Web应用程序项目一直运行良好,但今天它的行为突然变得奇怪了。当我提交jsp页面时,它无法找到我的servlet。我已经使用servlet注释来映射请求。 以下是我的JSP:- 以下是我的servlet:- 以下是我的控制台日志:-

  • 我想在Java应用程序中包括Postgres JDBC驱动程序,所以我将其添加为maven依赖项。我从这个列表中选择了最后一个版本,令我惊讶的是,它恰好是由Atlassian主持的。现在我收到这个错误: 丢失的工件postgresql: postgresql: jar: 9.4.1208-jdbc42-atlassian托管 我还尝试了一个不由Atlassian托管的旧版本,但得到了相同的错误!有