Sql server 2008 TSQL中两个记录集之间的差异
我正在使用Microsoft SQL Server 2008,我们有两个名为应用程序和注册的表。我想知道哪些申请没有转化为入学。如下图所示 我尝试使用NOT IN,但它仅适用于单个列。我有两列要比较。你能告诉我什么是最合适的方式吗?谢谢 另外,我无法更改数据库的结构,它们来自第三方供应商 试试看 旁注:比较类似解决方案的有趣答案 旁注:比较类似解决方案的有趣答案请改用: 改用:Sql server 2008 TSQL中两个记录集之间的差异,sql-server-2008,tsql,notin,Sql Server 2008,Tsql,Notin,我正在使用Microsoft SQL Server 2008,我们有两个名为应用程序和注册的表。我想知道哪些申请没有转化为入学。如下图所示 我尝试使用NOT IN,但它仅适用于单个列。我有两列要比较。你能告诉我什么是最合适的方式吗?谢谢 另外,我无法更改数据库的结构,它们来自第三方供应商 试试看 旁注:比较类似解决方案的有趣答案 旁注:比较类似解决方案的有趣答案请改用: 改用: 最简单的方法可能是在应用程序和注册之间使用左连接——只返回注册为空的那些 即 最简单的方法可能是在应用程序和注册之间使
最简单的方法可能是在应用程序和注册之间使用左连接——只返回注册为空的那些 即
最简单的方法可能是在应用程序和注册之间使用左连接——只返回注册为空的那些 即
另一种方法,使用
select
StudentID,
CourseID
FROM dbo.Applications
except
select
StudentID,
CourseID
FROM dbo.Enrolments
另一种方法,使用
select
StudentID,
CourseID
FROM dbo.Applications
except
select
StudentID,
CourseID
FROM dbo.Enrolments
SELECT a.* FROM Applications a
LEFT JOIN Enrolments e
ON a.StudentID = e.StudentID AND a.CourseID = e.CourseID
WHERE e.StudentID IS NULL
SELECT a.*
FROM Applications a
LEFT JOIN Enrolments e ON a.StudentID = e.StudentID AND a.CourseID = e.CourseID
WHERE e.StudentID IS NULL
select
StudentID,
CourseID
FROM dbo.Applications
except
select
StudentID,
CourseID
FROM dbo.Enrolments