Sql 选择另一个表中没有对应行的表行
当REQUID在5和8之间并且tblSomeTable中没有对应的行时,我尝试从tblReqInfo获取行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
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视图中执行此查询,但它不会正确返回任何行。