Sql 选择另一个表中没有对应行的表行

Sql 选择另一个表中没有对应行的表行,sql,select,visual-web-developer-2010,Sql,Select,Visual Web Developer 2010,当REQUID在5和8之间并且tblSomeTable中没有对应的行时,我尝试从tblReqInfo获取行 SELECT * FROM tblReqInfo WHERE (RI_ReqID BETWEEN 5 AND 8) AND CASE WHEN NOT EXISTS

当REQUID在5和8之间并且tblSomeTable中没有对应的行时,我尝试从tblReqInfo获取行

SELECT        *
FROM            tblReqInfo
WHERE         (RI_ReqID BETWEEN 5 AND 8)
             AND 
                          CASE
                                WHEN NOT EXISTS   
                                      (SELECT        CC_ReqID
                                        FROM            tblSomeTable
                                        WHERE        (CC_UserID = @CC_UserID) )
                                 THEN  1
                                 ELSE  RI_ReqID NOT IN (SELECT        CC_ReqID
                                        FROM            tblSomeTable
                                        WHERE        (CC_UserID = @CC_UserID) )
                           END 
ORDER BY RI_ReqID

不幸的是,查询配置向导甚至无法解析此内容。有人知道什么查询适合我吗?

在SQL Server中尝试以下操作:

SELECT        *
FROM            tblReqInfo
WHERE         (RI_ReqID BETWEEN 5 AND 8)
AND RI_ReqID NOT IN 
                 (SELECT        CC_ReqID
                  FROM            tblSomeTable
                  WHERE        CC_UserID = @CC_UserID)

此问题的标准解决方案是执行从目标表到引用表的外部联接,然后获取引用表中不匹配的行:

SELECT target.*, referent.id
FROM   target   LEFT OUTER JOIN
       referent ON (target.id = referent.id)
WHERE  target.id BETWEEN 5 and 8
  AND  referent.id IS null
ORDER  BY target.id

这是一个“mdf”文件。我认为它是作为一个“SQL Server数据库”创建的。这是行不通的。执行时仍有错误。您遇到了什么错误?啊,对不起。继续修复其他一些问题。这是我最后一次。错误是“无法启用约束。一行或多行包含违反非null、唯一或外键约束的值”。问题是:我可以在designer视图中执行此查询,但它不会正确返回任何行。