2016-04-07 2 views
0

Я хочу, чтобы результат запроса в скобках был запрошен снова. Я упомянул несколько сообщений в стеке и придумал следующий запрос. Но почему-то второй запрос (тот, который находится за пределами скобки) не работает. Ошибка говорит о некорректном синтаксисе рядом со второй «группой». Может кому-то помочь.Запрос на результат другого запроса

select CourseID, count(CourseID) 
from 
    (select CustomisationID, CourseID , Count(CourseID) 
    from tblFilter 
    where CustomisationID in (43, 51) 
    group by CourseID, CustomisationID) 
group by CourseID 
+2

Какая СУБД вы используете? И что такое *** точное сообщение об ошибке ***? –

+0

Что вы здесь делаете? Этот запрос немного «нечетный». – jarlh

ответ

1

Попробуйте

select M.CourseID, count(M.CourseID) from 
(
    select CustomisationID, CourseID , Count(CourseID) AS Cnt from tblFilter where CustomisationID in (43,51) 
    group by CourseID, CustomisationID 
)M 
group by M.CourseID 
0

Вы должны установить псевдоним для подзапроса. Попробуйте что-то вроде этого:

select CourseID, count(CourseID) 
from 
(
    select CustomisationID, CourseID , Count(CourseID) AS Cnt 
    from tblFilter 
    where CustomisationID in (43,51) 
    group by CourseID, CustomisationID 
) AS TMP 
group by CourseID 
+0

ANSI SQL не требует псевдонима таблицы здесь, но некоторые продукты делают. – jarlh

+0

Может быть, проблема в агрегировании в подзапросе? MS SQL требует имя столбца для каждого столбца. –

Смежные вопросы