Access97 LEFT JOIN SELECT

Я застрял с некоторым access97 sql,

SELECT Master.Text, Sub.Cnt
FROM Master
INNER JOIN [
SELECT Number, COUNT(*) As Cnt FROM SubTable GROUP BY Number]. AS Sub
ON Master.Number=Sub.Number
WHERE Master.Number=1;

Ведет себя так, как я ожидал, однако, где мне нужно заключить в квадратные скобки имя "SubTable", я получаю сообщение об ошибке в предложении FROM с выделением GROUP

SELECT Master.Text, Sub.Cnt
FROM Master
INNER JOIN [
SELECT Number, COUNT(*) As Cnt FROM [Sub Table] GROUP BY Number]. AS Sub
ON Master.Number=Sub.Number
WHERE Master.Number=1;

Может кто-то указать мне верное направление?

Спасибо

1 ответ

Квадратные скобки выглядят действительно странно в запросе. Попробуйте использовать обычные скобки для подзапроса:

SELECT Master.Text, Sub.Cnt
FROM Master INNER JOIN 
     (SELECT Number, COUNT(*) As Cnt
      FROM [Sub Table]
      GROUP BY Number
     ) AS Sub
     ON Master.Number = Sub.Number
WHERE Master.Number = 1;

РЕДАКТИРОВАТЬ:

Вы можете переписать этот запрос как:

SELECT Master.Text, COUNT(*) as Cnt
FROM Master INNER JOIN 
     [Sub Table] as sub
     ON Master.Number = Sub.Number
WHERE Master.Number = 1
GROUP BY Number;
Другие вопросы по тегам