SQL запрос вопрос внутреннего соединения - PullRequest
0 голосов
/ 29 июня 2011
LEFT JOIN PatientClinics AB ON PPhy.PatientID = AB.PatientID 
     JOIN Clinics CL ON CL.ID = AB.ClinicID 
                    AND COUNT(AB.ClinicID) = 1 

Я получаю ошибку, используя Count(AB.ClinicID) = 1 (ClinicID содержит повторяющиеся значения в таблице, и я хочу использовать только 1 значение каждого дублирующегося значения ClinicId для получения результата)

Какую ошибку я делаю

Ответы [ 3 ]

4 голосов
/ 29 июня 2011

Я никогда не видел, чтобы COUNT() использовался в JOIN раньше. Может быть, вы должны использовать:

HAVING COUNT(AB.ClinicID) = 1

вместо.

0 голосов
/ 29 июня 2011

Count() нельзя использовать в качестве предиката соединения / фильтра.Однако его можно использовать в предложении HAVING.Вы должны включить весь запрос, чтобы получить лучший пример того, как его переписать.

0 голосов
/ 29 июня 2011

возможно исследуйте предложение HAVING вместо использования COUNT там, где вы его поместили.

трудно помочь без полного запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...