![]() |
1
5
还有另一个选项-使用coalesce在T-SQL查询中指定规则还是使用空的coalescing运算符??在代码中(也适用于LinqToSQL)。 这两种方法都只需要一次调用数据库,所以选项1的值是+1。 |
![]() |
2
2
我肯定会选择选项1。
我总是说避免多次调用数据库,除非您返回不合理的数据量和/或查询需要很长时间。 |
![]() |
3
1
如果你不关心谁的位置被返回,那么,正如迈克所说,你可以考虑合并员工和经理的位置。但是,这确实会将业务逻辑移动到您可能认为是数据访问层的地方,因此,根据您的严格程度,您可能更喜欢在其他地方强制执行这样的规则。在这种情况下,我可能会投票选择1。 |
![]() |
4
1
我知道您的模式是人为的,但正如Mike建议的那样,isNull或Coalesce语句不起作用,因为WorkingLocationID不能为空,因此员工必须有一个位置。但是,如果有一个默认位置指示员工没有位置,例如使用值0,那么使用case语句将起作用。请注意,对于所需的每个工作位置字段,都需要一个case语句。因此,查询变得类似于:
|
![]() |
5
0
尝试两者,看看哪一个在您的环境中有更好的性能,如果发生变化,保留稍后切换方法的选项。 我认为你不必选择一种解决方案,永远坚持下去。 |
![]() |
6
-1
编辑:如果必须是1,则选择:
|
|
Johnny T · 基于当前值的SQL合并表[重复] 5 月前 |
![]() |
John D · 需要为NULL或NOT NULL的WHERE子句 6 月前 |
![]() |
ojek · 如何对SQL结果进行分组和编号? 6 月前 |
![]() |
senek · 如何在PL/SQL中将选择结果(列)放入数组中 6 月前 |
![]() |
Sax · 规范化Google表格(第一步) 6 月前 |
![]() |
Jatin · 检索卷计数的动态sql抛出错误语法错误[关闭] 6 月前 |
![]() |
Andrus · 如何在sql中查找第二个匹配项 6 月前 |