在WHERE子句中使用!=时,SELECT不起作用(使用GROUP BY和HAVING COUNT)

巴绍格扎德

该问题基于:从满足多个条件的左侧联接表中选择行

我现在尝试从表1中选择行,这些行在表2中没有与特定属性ID的连接。

这些是表格:

表格1

| ID  |   Name    |
|  1  |   test    |
|  2  |   hello   |

表2

| ID  | PropertyID |
|  1  |     3      |
|  1  |     6      |
|  1  |     7      |
|  2  |     6      |
|  2  |     1      |

我正在使用以下查询(正在使用'='):

SELECT tab1ID
FROM table2
WHERE propertyID != 3 OR propertyID = 6
GROUP BY tab1ID
HAVING COUNT(*) = 2;

该查询应返回ID = 2,但返回零行。我做错了什么?

任何帮助是极大的赞赏!

编辑:我给了一个MWE,但这是我的实际查询:

SELECT transactionline.total FROM transactionline
LEFT JOIN product_variant ON product_variant.SKU = transactionline.SKU 
LEFT JOIN product ON product_variant.productID = product.productID 
LEFT JOIN connect_option_product ON connect_option_product.productID = product.productID 
LEFT JOIN productattribute_option ON productattribute_option.optionID = connect_option_product.optionID 
WHERE productattribute_option.optionID = 4 OR productattribute_option.optionID = 9
GROUP BY transactionline.lineID
HAVING COUNT(*) = 1 
AND SUM(productattribute_option.optionID = 4) = 0
AND SUM(productattribute_option.optionID = 9) > 0

一个产品可以有多个到optionID的连接。该查询的目标是选择某些过滤器为真或假的总金额。

于尔根

您的分组是正确的。但是您需要计算您希望的值出现在您的组中的次数。该计数必须为零。

SELECT tab1ID
FROM table2
GROUP BY tab1ID
HAVING sum(propertyID = 6) > 0
AND sum(propertyID = 3) = 0 

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我可以在WHERE子句中使用COUNT()函数吗?查询总统

来自分类Dev

为什么在“ WHERE”子句中使用“ = +”和“ = *”?

来自分类Dev

在“ where”子句中使用新列

来自分类Dev

在where子句中对三个不同的列使用count

来自分类Dev

在SQLAlchemy中的HAVING()子句中使用标签

来自分类Dev

在WHERE子句中使用SELECT子查询不起作用

来自分类Dev

如何在SELECT和WHERE子句中使用CASE消除零除问题

来自分类Dev

在WHERE子句中使用过滤条件和JOIN条件有什么区别

来自分类Dev

T-SQL-在where和子句中使用参数

来自分类Dev

在HAVING和WHERE子句中使用时,窗口函数字段的别名导致“未找到”错误

来自分类Dev

允许在HAVING子句中使用别名的性能影响

来自分类Dev

限制WHERE子句中使用COUNT(*)函数作为子查询返回的行数

来自分类Dev

使用HAVING COUNT>子句查询

来自分类Dev

如何在MySQL where和where子句中的语句中使用正则表达式

来自分类Dev

使用COUNT和HAVING BY进行SELECT查询

来自分类Dev

在WHERE子句中使用Count值

来自分类Dev

在where子句中对三个不同的列使用count

来自分类Dev

在where子句中使用AVG函数和DATEADD进行嵌套查询

来自分类Dev

在select语句中使用WHERE子句

来自分类Dev

T-SQL-在where和子句中使用参数

来自分类Dev

在where子句中使用OR条件和Null进行右外部联接-SQL SERVER

来自分类Dev

在count函数中使用where子句

来自分类Dev

SQL JOIN COUNT 然后在 where 子句中使用该计数值

来自分类Dev

在 where 子句中使用 Select Min 和 MAx

来自分类Dev

选择 SELECT 中的多个列时,使用 GROUP BY 和 ORDER BY 进行查询不起作用

来自分类Dev

如何在 SQL 的 WHERE 子句中使用 IN 运算符和 AND 运算符...?

来自分类Dev

我在子查询 MySQL 的 Where 子句中使用 NOT IN 和 IF 是否正确?

来自分类Dev

在 WHERE 子句中使用 AND 和 OR 条件得到错误的结果

来自分类Dev

在 where 子句中使用自联接和 group bys 优化查询

Related 相关文章

  1. 1

    我可以在WHERE子句中使用COUNT()函数吗?查询总统

  2. 2

    为什么在“ WHERE”子句中使用“ = +”和“ = *”?

  3. 3

    在“ where”子句中使用新列

  4. 4

    在where子句中对三个不同的列使用count

  5. 5

    在SQLAlchemy中的HAVING()子句中使用标签

  6. 6

    在WHERE子句中使用SELECT子查询不起作用

  7. 7

    如何在SELECT和WHERE子句中使用CASE消除零除问题

  8. 8

    在WHERE子句中使用过滤条件和JOIN条件有什么区别

  9. 9

    T-SQL-在where和子句中使用参数

  10. 10

    在HAVING和WHERE子句中使用时,窗口函数字段的别名导致“未找到”错误

  11. 11

    允许在HAVING子句中使用别名的性能影响

  12. 12

    限制WHERE子句中使用COUNT(*)函数作为子查询返回的行数

  13. 13

    使用HAVING COUNT>子句查询

  14. 14

    如何在MySQL where和where子句中的语句中使用正则表达式

  15. 15

    使用COUNT和HAVING BY进行SELECT查询

  16. 16

    在WHERE子句中使用Count值

  17. 17

    在where子句中对三个不同的列使用count

  18. 18

    在where子句中使用AVG函数和DATEADD进行嵌套查询

  19. 19

    在select语句中使用WHERE子句

  20. 20

    T-SQL-在where和子句中使用参数

  21. 21

    在where子句中使用OR条件和Null进行右外部联接-SQL SERVER

  22. 22

    在count函数中使用where子句

  23. 23

    SQL JOIN COUNT 然后在 where 子句中使用该计数值

  24. 24

    在 where 子句中使用 Select Min 和 MAx

  25. 25

    选择 SELECT 中的多个列时,使用 GROUP BY 和 ORDER BY 进行查询不起作用

  26. 26

    如何在 SQL 的 WHERE 子句中使用 IN 运算符和 AND 运算符...?

  27. 27

    我在子查询 MySQL 的 Where 子句中使用 NOT IN 和 IF 是否正确?

  28. 28

    在 WHERE 子句中使用 AND 和 OR 条件得到错误的结果

  29. 29

    在 where 子句中使用自联接和 group bys 优化查询

热门标签

归档