程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Case 语句中的 OR 条件 SQL Server大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Case 语句中的 OR 条件 SQL Server?

开发过程中遇到Case 语句中的 OR 条件 SQL Server的问题如何解决?下面主要结合日常开发的经验,给出你关于Case 语句中的 OR 条件 SQL Server的解决方法建议,希望对你解决Case 语句中的 OR 条件 SQL Server有所启发或帮助;
  SELECT * FROM table1 A INNER JOIN table2 B ON A.COnfigID = B.COnfigID JOIN table3 C ON C.TypEID = B.TypEID INNER JOIN table4 D ON D.ChAnnelID = B.ChAnnelID INNER JOIN table5 E ON E.NoticEID = A.NoticEID WHERE E.NoticeCode = CASE 
    WHEN (
            D.ChAnnel = 'Post'
            OR (
                D.ChAnnel = 'Email'
                AND C.IsValue = 1
                )
            )
        THEN 'P'
    WHEN (
            (
                D.ChAnnel = 'Email'
                AND C.IsValue = 0
                )
            OR D.ChAnnel = 'Msg'
            )
        THEN 'I'
            OR 'E'
            OR 'N'
    END
                                                                 

THEN 'I' OR 'E' OR 'N' 中的 OR 条件不起作用。

有什么替代方法吗?请提出建议。

解决方法

不要使用case。像这样:

where (a.code = 'A' and b.code = 'P') or
      (a.code = 'B' and a.value = 1 and b.code = 'P') or
      (a.code = 'B' and a.value <> 1 and b.code in ('I','N','E'))

等等,无论你的完整逻辑是什么。

大佬总结

以上是大佬教程为你收集整理的Case 语句中的 OR 条件 SQL Server全部内容,希望文章能够帮你解决Case 语句中的 OR 条件 SQL Server所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。