在许多OR的情况下改善sql查询

机械

我有一个SQL查询,它可以具有约1.5k的ID,或采用以下形式。它们是我拥有的人的ID,并且可以单独选择,因此,当每个人都被选中时,它们将具有许多OR。最好只选择每个人的ID,然后将其置于AND条件(UNION而不是OR)中,或者使用IN汇总所有ID,因为用户可以选择每个人都接受1个人。谢谢。

 ...
AND (
      (UserID = '53b95690-22d8-44a2-ad56-919cb4037218')
   OR (UserID = '87b7fc0c-28f4-4f2e-9909-066df42245fa')
   OR (UserID  = '98c1b5e3-6ba5-4bd9-b8f5-d3b2221e3e3a')
   OR...

编辑:根据要求的完整查询;

SELECT *
FROM Mail WITH (NOLOCK)
WHERE Active= 1
AND Company= '1d034e8b-0122-4531-8795-895d9287920f' 
AND (
    CompanyDivisionID= '129bcca1-b1d8-4a9e-8152-0b9e936c9d01'
    OR CompanyDivisionID= '1bf4023d-22a3-4520-b751-7842576f42b7'
    )
AND (
    (DestinationUserID = '53b95690-22d8-44a2-ad56-919cb4037218')
    OR (DestinationUserID = '87b7fc0c-28f4-4f2e-9909-066df42245fa')
    OR (DestinationUserID = '98c1b5e3-6ba5-4bd9-b8f5-d3b2221e3e3a')
            ...
            ...
            ...
    OR (DestinationUserID = '8c78fc05-7969-48fd-9b30-774e5d9a70bd')
    OR (DestinationUserID  = 'e7b76096-fe7d-44b8-9158-8293ac609471')
    OR (DestinationUserID = '8a6b7385-4339-43fb-b95b-a7b687982bcd')
    )  
ORDER BY SendingDate DESC
Podiluska

创建一个包含您选择的UserID的(临时)表并加入该表。

SELECT *
FROM Mail WITH (NOLOCK)
     inner join SelectedUsers on mail.DestinationUserID = SelectedUsers.UserID
WHERE Active= 1

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在不使用笛卡尔连接的情况下组合许多 sql 查询的结果

来自分类Dev

仅在满足条件的情况下运行SQL查询

来自分类Dev

SQL查询-卡在以下情况下:

来自分类Dev

在以下情况下如何构造sql查询?

来自分类Dev

在这种情况下,如何编写SQL查询?

来自分类Dev

在没有分析函数的情况下转换 SQL 查询

来自分类Dev

SQL情况下的问题

来自分类Dev

快速纠正许多情况下的NSNumberFormatter

来自分类Dev

如何避免许多情况下的if-else

来自分类Dev

Google表格-在许多情况下公式解析错误

来自分类Dev

在多种情况下引用子查询

来自分类Dev

Spark SQL:如何在不使用rdd.cache()的情况下缓存SQL查询结果

来自分类Dev

SQL查询仅在字段等于值的情况下选择最高ID

来自分类Dev

如何在不使用Distinct的情况下删除SQL查询中的重复项?

来自分类Dev

如何在不使用模型的情况下使用Entity Framework执行原始SQL查询?

来自分类Dev

如何在没有原始SQL的情况下使用Sequel编写PostgreSQL查询?

来自分类Dev

在以下情况下,我应该使我的SQL查询异步吗?

来自分类Dev

在不更改sql查询顺序的情况下随机选择行

来自分类Dev

SQL查询-如何在不超过特定薪金限额的情况下增加员工的薪水

来自分类Dev

如何在没有任何查询的情况下更改SQL上的SSMS警告设置?

来自分类Dev

在这种情况下,如何在MYSQL / SQL中查询数据?

来自分类Dev

如何在没有一百万个AND / OR的情况下缩短此SQL查询?

来自分类Dev

是否可以在不指定SQL Server的父标记的情况下查询XML标记?

来自分类Dev

在这种情况下,我将如何建立sql查询?

来自分类Dev

可以在没有任何用户操作的情况下运行sql查询?

来自分类Dev

如何在没有JOIN的情况下编写SQL查询

来自分类Dev

在不更改sql_mode的情况下运行此查询

来自分类Dev

如何在没有 IN 子句的情况下重写 SQL 查询

来自分类Dev

在这种情况下如何进行动态查询。sql 2005

Related 相关文章

  1. 1

    在不使用笛卡尔连接的情况下组合许多 sql 查询的结果

  2. 2

    仅在满足条件的情况下运行SQL查询

  3. 3

    SQL查询-卡在以下情况下:

  4. 4

    在以下情况下如何构造sql查询?

  5. 5

    在这种情况下,如何编写SQL查询?

  6. 6

    在没有分析函数的情况下转换 SQL 查询

  7. 7

    SQL情况下的问题

  8. 8

    快速纠正许多情况下的NSNumberFormatter

  9. 9

    如何避免许多情况下的if-else

  10. 10

    Google表格-在许多情况下公式解析错误

  11. 11

    在多种情况下引用子查询

  12. 12

    Spark SQL:如何在不使用rdd.cache()的情况下缓存SQL查询结果

  13. 13

    SQL查询仅在字段等于值的情况下选择最高ID

  14. 14

    如何在不使用Distinct的情况下删除SQL查询中的重复项?

  15. 15

    如何在不使用模型的情况下使用Entity Framework执行原始SQL查询?

  16. 16

    如何在没有原始SQL的情况下使用Sequel编写PostgreSQL查询?

  17. 17

    在以下情况下,我应该使我的SQL查询异步吗?

  18. 18

    在不更改sql查询顺序的情况下随机选择行

  19. 19

    SQL查询-如何在不超过特定薪金限额的情况下增加员工的薪水

  20. 20

    如何在没有任何查询的情况下更改SQL上的SSMS警告设置?

  21. 21

    在这种情况下,如何在MYSQL / SQL中查询数据?

  22. 22

    如何在没有一百万个AND / OR的情况下缩短此SQL查询?

  23. 23

    是否可以在不指定SQL Server的父标记的情况下查询XML标记?

  24. 24

    在这种情况下,我将如何建立sql查询?

  25. 25

    可以在没有任何用户操作的情况下运行sql查询?

  26. 26

    如何在没有JOIN的情况下编写SQL查询

  27. 27

    在不更改sql_mode的情况下运行此查询

  28. 28

    如何在没有 IN 子句的情况下重写 SQL 查询

  29. 29

    在这种情况下如何进行动态查询。sql 2005

热门标签

归档