2011-06-29 112 views
0
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在表中,我想用ClinicId的每个重复值的只有1个值产生结果的重复值 )sql查询问题内部联接

什么错误时我在做什么?

+0

你可以发布整个查询,否则它很难帮助.. – StevieG

+0

我同意 - 需要更多的SQL才能得到真正的答案。 –

回答

0

Count()不能用作连接/过滤谓词。但是,它可以在HAVING子句中使用。您应该包含整个查询,以便更好地了解如何重写它。

+0

它的工作原理。谢谢 – user680865

4

我从来没有见过COUNT()以前用在JOIN之前。也许你应该使用:

HAVING COUNT(AB.ClinicID) = 1

代替。

+0

+1 - 这应该是一个过滤器而不是连接条件 – JNK

+0

是的。 –

+0

@OMG小马:不错的想法:o) –

0

也许调查了HAVING子句,而不是使用COUNT这个位置。

如果没有完整的查询,很难提供帮助。