Postgresql中的Inner Join子查询导致错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Postgresql中的Inner Join子查询导致错误相关的知识,希望对你有一定的参考价值。

有我的要求在我的网站上找到现实,我在这个请求中得到错误,我不知道我需要做什么来解决这个错误

错误:

列“quote_plus_normal_gr_publi.id_post_normal”必须出现在GROUP BY子句中或用于聚合乐趣

查询:

SELECT 
    publi.date, publi.mess, publi, publi.profil, publi.color, 
    publi.name, publi.search
FROM 
    publi
INNER JOIN 
    (SELECT 
         id_post_normal, COUNT(id_post_normal)
     FROM 
         quote_plus_normal_gr_publi
     ORDER BY 
         id_post_normal) q ON q.id_post_normal = publi.id_post_normal
WHERE 
    publi.id_personnes = 1
ORDER BY 
    date DESC
答案

我觉得你的select语句有问题

SELECT publi.date, publi.mess, publi, publi.profil, publi.color, publi.name, publi.search

FROM publi
INNER JOIN (
    SELECT id_post_normal, COUNT(id_post_normal)
    FROM quote_plus_normal_gr_publi
    ORDER BY id_post_normal
) q 
ON q.id_post_normal = publi.id_post_normal
WHERE publi.id_personnes = 1
ORDER BY date DESC

在第一个选择中只有publi并且没有要调用的列

select publi.date, publi.mess, publi, publi.profil

所以我尝试查询并使类似于你,我没有任何错误显示。

首先为什么错误出现组?你试试另一个查询?不是这个查询?

以上是关于Postgresql中的Inner Join子查询导致错误的主要内容,如果未能解决你的问题,请参考以下文章

流分析:Inner Join 两个子查询

多个INNER JOIN子查询sql

INEXISTS的相关子查询用INNER JOIN 代替--性能优化

MySQL INNER JOIN 查询中包含子查询的问题

表的基本查询语句及使用连表(inner joinleft join)子查询

索引视图在没有 INNER JOIN 或子查询的情况下查找空引用