首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Postgres SQL查询不标识列

Postgres SQL查询不标识列
EN

Stack Overflow用户
提问于 2016-10-10 03:09:07
回答 2查看 111关注 0票数 1

我的查询有一个很大的问题,因为某些原因,我无法让WHERE子句工作。

这是我的SQL:

代码语言:javascript
复制
SELECT COUNT(*) FROM "diets" JOIN "meals" on "idDiet" = "dietId" 
WHERE kcal != 0 AND "diets.createdAt" > '2016-10-2' 
GROUP BY "userIdUser" HAVING count(*) >= 5;

我的错误是:

代码语言:javascript
复制
ERROR:  column "diets.createdAt" does not exist

我对这两张桌子的计划:

知道我要做什么才能让这个查询正常工作吗?非常感谢,如果需要更多的信息,请告诉我。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-10 03:09:56

你的话是错的:

代码语言:javascript
复制
SELECT COUNT(*)
FROM "diets" JOIN
     "meals" 
     ON "idDiet" = "dietId" 
WHERE kcal <> 0 AND "diets"."createdAt" > '2016-10-2' 
GROUP BY "userIdUser"
HAVING count(*) >= 5;

双引号环绕一个标识符。一个合格的列引用(如diets.createdAt )由两个标识符组成,因此每个列引用都需要有引号(如果有的话)。

否则,您所指的是名为"diets.createdAt"的列。也就是说,列名将包含一个句点。

票数 2
EN

Stack Overflow用户

发布于 2016-10-10 03:20:45

代码语言:javascript
复制
 SELECT COUNT(*) FROM diets a  JOIN  meals b on a.idDiet = b.dietId 
 WHERE a.kcal <> 0 AND a.createdAt > '2016-10-2' 
 GROUP BY a.userIdUser HAVING count(*) >= 5;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39950783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档