2017-02-15 8 views
0

Я пытаюсь создать запросы в SQL MS Access, которая выполняет функцию два отдельных отсчитывает и разработали следующий код:Microsoft Access SQL Количество запросов отчетливый

SELECT DISTINCT A.Name, Count(A.Name) AS X, Count(b.Address) AS Y 
FROM PEOPLE AS A INNER JOIN PEOPLE Sub AS b ON A.PID = b.PID 
GROUP BY A.Nam 

Проблема с этим запросом является то, что обе функции подсчета укажите общее количество номеров адресов для каждого имени, и я хочу, чтобы первая функция подсчета обеспечивала подсчет имен, поэтому я был бы признателен, если бы кто-то мог сообщить, как я изменяю этот код, чтобы изменить первую функцию счета на счетчик

Nick

+0

Просьба предоставить образцы данных и желаемые результаты – GurV

ответ

0

Ваш запрос неверен - GROUP BY должен иметь имя A.Name - я думаю, что это ошибка при копировании.

В противном случае измените это. Что произойдет, если вы сделаете это без DISTINCT? Попробуйте с SUM не с COUNT.

0

Отличие в вашем запросе устарело из-за предложения GROUP BY.

Кроме того, неясно, относится ли ваша подменю «Люди» к другой таблице или является самосоединением. Следующий код должен работать:

SELECT P.Name 
, COUNT(P.*) AS X 
, COUNT(DISTINCT A.Address) AS Y 
FROM PEOPLE AS P 
INNER JOIN ADDRESS AS A ON A.PID = P.PID 
GROUP BY P.Name