muhammad_97
@muhammad_97
PHP-разработчик

Возможно ли использовать результат подзапроса в WHERE?

Есть запрос для получения уроков:

В итоге получаю следующий запрос:

SELECT (SELECT Count(education.contents_progress.id) AS 
               started_content_blocks_count 
        FROM   "education"."contents_progress" 
               INNER JOIN "education"."contents_has_lessons" 
                       ON "education"."contents_has_lessons"."lesson_id" = 
                          "education"."lessons"."id" 
               INNER JOIN "education"."contents" 
                       ON "education"."contents"."id" = 
                          "education"."contents_has_lessons"."content_id" 
        WHERE  education.contents_progress.content_block_id = 
               education.contents.id 
               AND "education"."contents_progress"."user_id" = ?) AS 
       "started_content_blocks_count" 
FROM   "education"."lessons" 
WHERE  "education"."lessons"."deleted_at" IS NULL 
       AND started_content_blocks_count > 0 
LIMIT  2


Получаю ошибку:

SQLSTATE[42703]: Undefined column: 7 ERROR: column "started_content_blocks_count" does not exist


Пробовал через HAVING

SELECT (SELECT Count(education.contents_progress.id) AS 
               started_content_blocks_count 
        FROM   "education"."contents_progress" 
               INNER JOIN "education"."contents_has_lessons" 
                       ON "education"."contents_has_lessons"."lesson_id" = 
                          "education"."lessons"."id" 
               INNER JOIN "education"."contents" 
                       ON "education"."contents"."id" = 
                          "education"."contents_has_lessons"."content_id" 
        WHERE  education.contents_progress.content_block_id = 
               education.contents.id 
               AND "education"."contents_progress"."user_id" = ?) AS 
       "started_content_blocks_count" 
FROM   "education"."lessons" 
WHERE  "education"."lessons"."deleted_at" IS NULL 
HAVING started_content_blocks_count > 0 
LIMIT  2


Результат тот же. Что я делаю не так?
  • Вопрос задан
  • 569 просмотров
Решения вопроса 1
muhammad_97
@muhammad_97 Автор вопроса
PHP-разработчик
Нужно было писать подзапрос прямо в HAVING
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы