Ваши ошибки:
- Вы забыли сообщить нам, что сообщение об ошибке вы получили.
- Вы забыли рассказать нам, какие dbms вы используете.
- Существует запятая для многих (после псевдонима таблицы c).
- В зависимости от dbms вам может понадобиться также имя для производной таблицы (т. Е. Добавить некоторое фиктивное имя после закрывающей скобки).
Исправленный запрос:
select count (*) from
(
select a.ACCOUNT_POID_ID0,a.STATUS as moov_profile_status,b.SUB_PLAN_ID,b.PLAN_ID,c.STATUS,c.NAME
from VMS_MOOV_PROFILE_T a,
VMS_SUB_PLAN_NO_REGEN_T b,
VMS_VOUCHER_CONF_T c
where b.ACCOUNT_POID_ID0 = a.ACCOUNT_POID_ID0
and c.VOUCHER_ID = (select f.VOUCHER_ID from VMS_PLAN_VOUCHER_T f where f.PLAN_ID = b.PLAN_ID)
) dummy;
Кроме того, как вы присоединиться к таблицам (используя подзапрос на VMS_PLAN_VOUCHER_T) немного странно. И вы не должны использовать старый синтаксис соединения, разделенный запятой, который был заменен в стандартном SQL более двадцати лет назад. Плюс: вам все равно не нужна производная таблица.
Вот ваш запрос упрощена:
select count (*)
from VMS_MOOV_PROFILE_T a
join VMS_SUB_PLAN_NO_REGEN_T b on b.ACCOUNT_POID_ID0 = a.ACCOUNT_POID_ID0
join VMS_PLAN_VOUCHER_T f on f.PLAN_ID = b.PLAN_ID
join VMS_VOUCHER_CONF_T c on c.VOUCHER_ID = f.VOUCHER_ID;
Обеспечить псевдоним для производной таблицы 'FROM (SELECT ...) x' – StuartLC
** Что ошибка ** Что RDBMS вы используете? Я догадался, каков ваш вопрос, но поскольку вы закончили большинство слов на полпути, а не пытались написать все слово, я не уверен на 100%. – Ben
P.S. у вас есть некорректная запятая после 'VMS_VOUCHER_CONF_T c,', что, вероятно, является проблемой. – Ben