检查SQL查询中是否满足指定的所有条件

空荡荡的和平

假设我有以下派生表:

Comment | Condition_Lower_Score | Condition_Higher_Score | Question_Score
=========================================================================
text1   |          1            |            3           |       2
text1   |          3            |            5           |       4
text2   |          5            |            6           |       1
text2   |          3            |            6           |       4

我的桌子上有一条注释,该注释与条件具有一对多的关系。每个条件可以指定多个问题(在此表中,问题分数与不同问题相关)。我需要创建一个仅在满足所有条件的情况下才选择注释的查询。

派生表是从以下表创建的:

评论:

Comment_ID | Comment_Text 
===========================
     1     |     text1
     2     |     text2

健康)状况:

 Condition_ID | Condition_Lower_Score | Condition_Higher_Score |  Comment_ID | Question_ID
 =========================================================================================
      10      |          1            |             3          |      1      |     100
      11      |          3            |             5          |      1      |     101
      12      |          5            |             6          |      2      |     102
      13      |          3            |             6          |      2      |     103

问题:

Question_ID | Question_Score
============================
     100    |       2
     101    |       4
     102    |       1
     103    |       4     

因此,在这种情况下,我希望仅从派生表中选择“ text1”,而不希望从“ text2”中选择,因为不满足其所有条件。

如何创建仅在满足所有条件时才选择的查询?

詹尼斯·帕拉斯科沃波洛斯
WITH TestsCTE AS
(
SELECT M.Comment_Text AS Comment, 
       C.Condition_Lower_Score, 
       C.Condition_Higher_Score, 
       Q.Question_Score,
       CASE 
           WHEN Q.Question_Score BETWEEN C.Condition_Lower_Score AND C.Condition_Higher_Score
           THEN 1
       ELSE 0
       END AS Pass
FROM   [Condition] C
       JOIN Comment M
           ON C.Comment_ID = M.Comment_ID
       JOIN Question Q
           ON C.Question_ID = Q.Question_ID
)
SELECT COMMENT
FROM TestsCTE
GROUP BY COMMENT
HAVING MIN(Pass) = 1

SQL FIDDLE DEMO

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

查询检查是否满足所有条件

来自分类Dev

Haskell:检查是否满足所有条件。如果它们返回true,否则返回false

来自分类常见问题

满足数组中所有条件的查询

来自分类Dev

满足数组中所有条件的查询

来自分类Dev

Rails查询记录必须满足所有条件

来自分类Dev

MYSQL:当满足子查询的所有条件时,UPDATE查询中的SET值

来自分类Dev

如果满足所有条件,则SQL获取行

来自分类Dev

SQL - 返回满足所有条件的值

来自分类Dev

如果满足所有条件

来自分类Dev

Oracle /通用SQL-是否始终在所有条件检查位置?

来自分类Dev

当满足所有条件时,检查多个s3事件以触发lambda吗?

来自分类Dev

Spring数据查询中是否有条件?

来自分类Dev

是否有条件检查位置

来自分类Dev

创建一列以标识是否满足所有条件

来自分类Dev

sql中所有条件都满足时如何选择记录

来自分类Dev

有条件的多表SQL查询

来自分类Dev

有条件的纯SQL查询

来自分类Dev

检查列表中的所有元素是否满足条件

来自分类Dev

在必须满足所有条件的一个字段上使用多个条件进行查询

来自分类Dev

是否可以在T-SQL中以完全限定的表名有条件地指定数据库?

来自分类Dev

sql查询为所有条件或不为条件选择匹配的行

来自分类Dev

While循环不检查所有条件

来自分类Dev

while循环无法正确检查所有条件?

来自分类Dev

如何使DBMS检查WHERE部分中的所有条件?

来自分类Dev

VBA 检查值是否在有条件的列表中

来自分类Dev

MySQL多个where条件,结果不满足所有条件

来自分类Dev

带有条件的Python循环:无论条件是否满足,都使用相同的代码

来自分类Dev

jQuery:如果条件有效,但如何在所有条件中检查结果

来自分类Dev

SQL Server查询:有条件地获取总和

Related 相关文章

  1. 1

    查询检查是否满足所有条件

  2. 2

    Haskell:检查是否满足所有条件。如果它们返回true,否则返回false

  3. 3

    满足数组中所有条件的查询

  4. 4

    满足数组中所有条件的查询

  5. 5

    Rails查询记录必须满足所有条件

  6. 6

    MYSQL:当满足子查询的所有条件时,UPDATE查询中的SET值

  7. 7

    如果满足所有条件,则SQL获取行

  8. 8

    SQL - 返回满足所有条件的值

  9. 9

    如果满足所有条件

  10. 10

    Oracle /通用SQL-是否始终在所有条件检查位置?

  11. 11

    当满足所有条件时,检查多个s3事件以触发lambda吗?

  12. 12

    Spring数据查询中是否有条件?

  13. 13

    是否有条件检查位置

  14. 14

    创建一列以标识是否满足所有条件

  15. 15

    sql中所有条件都满足时如何选择记录

  16. 16

    有条件的多表SQL查询

  17. 17

    有条件的纯SQL查询

  18. 18

    检查列表中的所有元素是否满足条件

  19. 19

    在必须满足所有条件的一个字段上使用多个条件进行查询

  20. 20

    是否可以在T-SQL中以完全限定的表名有条件地指定数据库?

  21. 21

    sql查询为所有条件或不为条件选择匹配的行

  22. 22

    While循环不检查所有条件

  23. 23

    while循环无法正确检查所有条件?

  24. 24

    如何使DBMS检查WHERE部分中的所有条件?

  25. 25

    VBA 检查值是否在有条件的列表中

  26. 26

    MySQL多个where条件,结果不满足所有条件

  27. 27

    带有条件的Python循环:无论条件是否满足,都使用相同的代码

  28. 28

    jQuery:如果条件有效,但如何在所有条件中检查结果

  29. 29

    SQL Server查询:有条件地获取总和

热门标签

归档