我有一个表项目,其中包含以下字段
ID| Number | Name | CreatedOn | CreatedBy
----------------------------------------------
其他表是CLDProject具有以下字段
ID| CLDId | ProjectId | CreatedOn | CreatedBy
-----------------------------------------
在这里,我必须选择没有为特定CLDId分配CLDProject.ProjectId的所有项目的列表
我试过
SELECT {Project}.*
FROM {Project}
WHERE NOT EXISTS ( SELECT 1 FROM {CLDProjects} WHERE {CLDProjects}.[ProjectId] = {Project}.[Id] AND {CLDProjects}.[CLDId] =@CLDId)
问题是它显示了所有项目,但我想选择没有为特定CLDId分配CLDProject.ProjectId的项目。我很高兴查询任何帮助,非常感谢。
答案 0 :(得分:0)
你有没有试过像
这样的东西SELECT {Project}.*
FROM {Project}
WHERE {Project}.ID NOT IN (
SELECT DISTINCT {CLDProject}.[ProjectId]
FROM {CLDProject}
WHERE {CLDProject}.[CLDId] = @CLDId
)
这就是它的工作原理
查找与给定CLDID(内部查询)相关联的所有项目
查找不在该列表上的项目(外部查询)