首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PostgreSQL:如何在查询中合并WHERE子句

PostgreSQL:如何在查询中合并WHERE子句
EN

Stack Overflow用户
提问于 2020-06-21 01:03:55
回答 2查看 61关注 0票数 0

我对PostgreSQL非常陌生,我试图从我创建的一个测试表中查询一些数据。该表名为Activity,其结构如下:

代码语言:javascript
复制
id    Color    Dimension    Style    COUNT    SUM    Date

数据如下:

代码语言:javascript
复制
Color   Dimension    Style    COUNT    SUM    Date
Blue    Circle       Large    4        800    6/19/2020
Blue    Circle       Small    5        1500   6/19/2020
Blue    Square       Medium   1        15     6/19/2020

提交以下查询:

代码语言:javascript
复制
SELECT * FROM public."Trades"

..。为我获取所有记录(如预期)。到现在为止还好。

但是,现在我只想检索Dimension列中与'Blue'相等的记录。为此,我提交以下查询:

代码语言:javascript
复制
SELECT * FROM public."Activity"
WHERE Dimension = 'Blue';

我收到一个错误,上面说:

代码语言:javascript
复制
ERROR:  column "dimension" does not exist
LINE 2: WHERE Dimension = 'Blue';
              ^
HINT:  Perhaps you meant to reference the column "Activity.Dimension"
              ^

因此,我尝试以下几点:

代码语言:javascript
复制
SELECT * FROM public."Activity"
WHERE "Activity.Dimension" = 'Blue'

同样,我收到一条错误消息,其中说:

代码语言:javascript
复制
ERROR:  column "Activity.Dimension" does not exist
LINE 2: WHERE "Activity.Dimension" = 'Blue';

有人能告诉我如何在这个查询中成功地引入WHERE子句吗?

提前感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-21 01:06:56

你忘了桌子的名字:

代码语言:javascript
复制
select *
from "Activity"
where "Color" = 'Blue';

还有一些注意事项:

我认为你混淆了ColorDimension,我已经纠正了这一点。我建议在命名中使用snake_case来避免在where "Activity"."Color" = 'Blue'中包装名称--您正在查询一个表,您不必在where子句中指定它,这就是为什么我编写where "Color" = 'Blue'而不是where "Activity"."Color" = 'Blue'

票数 2
EN

Stack Overflow用户

发布于 2020-06-21 01:06:01

只需说Activity.Dimension没有引号。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62493385

复制
相关文章

相似问题

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