SELECT с COUNT из нескольких таблиц в доступе 2007 - PullRequest
2 голосов
/ 30 июля 2011

У меня есть 2 запроса под названием «Запрос на 3 месяца» и «Запрос на 6 месяцев».Сейчас я создаю отчет с запросом в качестве источника записи.Я хочу подсчитать количество строк в 3-месячном запросе и пометить его как Need3Month, а также количество строк в 6-месячном запросе и пометить его как Need6Month.Я пробовал следующее, которое не работает:

SELECT COUNT([3 Month Query].[ID]) AS Need3Month, COUNT([6 Month Query].[ID]) AS Need6Month FROM [3 Month Query], [6 Month Query];

И я также пробовал:

SELECT COUNT([3 Month Query].[ID] AS Need3Month FROM [3 Month Query]
UNION
SELECT COUNT([6 Month Query].[ID] AS Need6Month FROM [6 Month Query];

Это возвращает правильные числа, но перечисляет их оба в столбце Need3Month.

Что я должен делать?Любая помощь очень ценится.

Ответы [ 2 ]

3 голосов
/ 30 июля 2011

Не уверен, что это работает в MS Access, но в SQL вы бы сделали что-то вроде этого:

SELECT 
    (SELECT COUNT(ID) FROM [3 Month Query]) Need3Month, 
    (SELECT COUNT(ID) FROM [6 Month Query]) Need6Month
3 голосов
/ 30 июля 2011
SELECT
  (SELECT COUNT([ID]) FROM [3 Month Query]) AS Need3Month,
  (SELECT COUNT([ID]) FROM [6 Month Query]) AS Need6Month

ОБНОВЛЕНИЕ в ответ на комментарии:

SELECT
  COUNT([ID]) AS Need3Month,
  (SELECT COUNT([ID]) FROM [6 Month Query]) AS Need6Month
FROM [3 Month Query]

ОБНОВЛЕНИЕ 2

Это должно такжеработа (я думаю):

SELECT
  Cnt6.Cnt AS Need3Month,
  Cnt3.Cnt AS Need3Month
FROM
  (SELECT COUNT([ID]) AS Cnt FROM [3 Month Query]) AS Cnt3,
  (SELECT COUNT([ID]) AS Cnt FROM [6 Month Query]) AS Cnt6
...