【问题标题】:Having trouble with HAVING COLUMN in mysql search在 mysql 搜索中遇到 HAVING COLUMN 问题
【发布时间】:2013-09-10 08:27:02
【问题描述】:

存在列的 HAVING 子句时遇到问题

SELECT COUNT(*) AS `numrows`
FROM (`customers`)
LEFT JOIN `parent_companies` AS j2ee39a6a ON `j2ee39a6a`.`id` = `customers`.`parent_company_id`
WHERE `customers`.`is_approved` =  0
AND  `organization`  LIKE '%Pizza%'
OR  `title`  LIKE '%Pizza%'
OR  `picture`  LIKE '%Pizza%'
HAVING `customers`.`is_approved` = 0

我真的不明白为什么会有这样的问题 - 这是 Grocerycrud 自动生成的查询.. 用于搜索特定输出..

【问题讨论】:

  • 产生了什么输出或错误?
  • 这是什么问题和麻烦?你不解释!
  • 你想做什么?
  • 无论如何,我认为不需要HAVING 子句,因为它已经由WHERE 子句提供服务,并且没有GROUP BY 可以与HAVING 一起使用。尝试删除 HAVING 子句。

标签: mysql having-clause grocery-crud


【解决方案1】:

HAVING 是不必要的,因为你在WHERE 中确实有这个条件

你可能因为括号而错了count

SELECT COUNT(*) AS `numrows`
FROM (`customers`)
LEFT JOIN `parent_companies` AS j2ee39a6a ON `j2ee39a6a`.`id` =     `customers`.`parent_company_id`
WHERE `customers`.`is_approved` =  0
AND  (`organization`  LIKE '%Pizza%' **start_bracket_here**
OR  `title`  LIKE '%Pizza%'
OR  `picture`  LIKE '%Pizza%') ** close bracket here**
HAVING `customers`.`is_approved` = 0;  ** HAVING UNNECESARRY**

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-19
    • 1970-01-01
    • 2013-02-06
    • 2016-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多