Проблема с COUNT - PullRequest
       1

Проблема с COUNT

0 голосов
/ 11 июля 2019

У меня есть две таблицы: ПАЦИЕНТ и ВИЗИТ.Один с PatientID в качестве первичного ключа и один с VisitID в качестве первичного ключа.Мне нужно выбрать имя и фамилию пациентов, которые посетили больницу более двух раз.

Я пробовал DISTINCT, вложенный оператор where, INNER JOIN и т. Д.

SELECT FirstName
     , LastName
     , PatientID
     , COUNT(*) AS total_visits 
  FROM VISIT 
 WHERE total_visits > 2; 

Он должен просто отображать имя и фамилию пациентов, которые имеют более двух вхождений вПОСЕТИТЕ таблицу, но как бы я ни переставлял код, он не работает.

Ответы [ 2 ]

0 голосов
/ 11 июля 2019

Исходя из ответа Гордона и вашего комментария, я предполагаю, что PatientID в VISIT является ключом к таблице PATIENT. Так что вам нужно будет использовать INNER JOIN. Итак, ваш запрос выглядит примерно так:

SELECT FirstName, LastName, v.PatientID, COUNT(*) AS total_visits
FROM VISIT v
INNER JOIN PATIENT p ON p.PatientID = v.PatientID
GROUP BY FirstName, LastName, v.PatientID
HAVING COUNT(*) > 2;

Обратите внимание, что AFAIK в Access вы не можете использовать псевдоним в предложении HAVING. Вам нужно повторить СЧЕТ (*) как есть.

0 голосов
/ 11 июля 2019

Вам нужно GROUP BY и HAVING:

SELECT FirstName, LastName, PatientID, COUNT(*) AS total_visits
FROM VISIT
GROUP BY FirstName, LastName, PatientID
HAVING total_visits > 2;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...