PSQL: ошибка должна появляться в предложении GROUP BY или использоваться в статистической функции »при использовании функции JOIN - PullRequest
0 голосов
/ 07 января 2019

Я пытаюсь присоединиться к таблице, но получаю ошибку.

Мне нужно предоставить подзапрос, но не знаю где. Это то, что я пытался.

select q.id, q."createdAt", count(qq.id), "AccountId", "ProgramId" 
from "Quizzes" q 
join "QuizQuestions" qq on "QuizId" = q.id 
join "Accounts" a on a.id = "AccountId" 
where "ProductId" = 'abfb4db4-8605-46dd-a23d-ae52a28c1940' 
       and "selectedOptionIndex" is not null 
       and q."createdAt" >= '1-7-19' 
group by q.id;

Результат: ERROR: column "a.ProgramId" must appear in the GROUP BY clause or be used in an aggregate function

1 Ответ

0 голосов
/ 07 января 2019

Все неагрегированные столбцы должны быть в GROUP BY:

select q.id, q."createdAt", count(qq.id), "AccountId", "ProgramId"
from "Quizzes" q join
     "QuizQuestions" qq
     on qq."QuizId" = q.id join
     "Accounts" a
     on a.id = "AccountId"
where "ProductId" = 'abfb4db4-8605-46dd-a23d-ae52a28c1940' and
      "selectedOptionIndex" is not null and
       q."createdAt" >= '2017-01-17'
group by q.id, q."createdAt", "AccountId", "ProgramId";

Я изменил формат даты на стандартный формат даты. Вы также должны псевдонимы всех ссылок на столбцы с их псевдонимами таблицы. И все двойные кавычки просто сбивают с толку. Вы действительно нуждаетесь в них?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...