我将如何执行此SQL查询
Select Distinct s.*
from #ScopeIDs x
Join Scopes s on s.ScopeID=x.ScopeID or x.ScopeID is null
LINQ to SQL中的? (此查询将返回其ScopeID存在于#ScopeIDs中的所有Scope,除非#ScopeIDs中的一个条目为null,在这种情况下它将返回所有Scopes)。
“文字”翻译不起作用,因为LINQ不支持加入多个条件 - 沿着这些行编写代码......
From x in ScopeIDs
Join s in Scopes on s.ScopeID equals x.ScopeID or x.ScopeID equals nothing
Distinct Select s
...无法编译。
答案 0 :(得分:0)
不完全是您问题的答案,但我相信您的查询
Select Distinct s.*
from #ScopeIDs x
Join Scopes s on s.ScopeID=x.ScopeID or x.ScopeID is null
通常表示为等效
select Distinct s.*
from #ScopeIDs x
right join Scopes s on s.ScopeID=x.ScopeID