0
我正在使用以下查询来显示只有那些具有两个资格的检查员。有效的方法来检查列是否具有所有特定值
DECLARE @CertType QualificationType; --2,3
select i.InspectorID from Inspectors i
INNER JOIN (
SELECT _id.InspectorID
FROM InspectorDocs _id
WHERE _id.QualificationTypeID IN (select [QualificationTypeID] from @CertType) GROUP BY _id.InspectorID
HAVING COUNT(DISTINCT _id.QualificationTypeID) = (select count(*) from @CertType)
) as id on id.inspectorid = i.inspectorid
有没有更好的方法来找到列是否有所有给定的值?
架构
检查员:检查员(PK)
InspectorDocs:的DocID(PK),InspectorID(FK),QualificationTypeID(FK)
QualificationTypE:QualificationTypeID(PK)
提供模式和数据样本。 – Horaciux 2014-10-30 15:07:05