mysql - Mysql中的多个where in子句

标签 mysql laravel-5

当使用以下查询时,我得到了不正确的结果。使用多个 where in 子句和 HAVING 时如何解决此问题。

SELECT * 
FROM  `otc_employee_qualifications` 
WHERE  `emp_qualifctn_type` 
IN (
'26',  '27'
)
AND  `qualification_value` 
IN (
'62', '64','65'
)
AND  `qualification_mark` >=  '10'
GROUP BY  `employee_id` 
HAVING COUNT( DISTINCT  `emp_qualifctn_type` ) =  '2'
AND  COUNT( DISTINCT  `qualification_value` ) =  '3'
LIMIT 0 , 30

PHPMYADMIN

enter image description here

在这里,我需要获取同时满足 emp_qualifctn_type(27 和 26)和('62'、'64'、'65')中所有资格值的员工 ID

最佳答案

我发现了查询中的错误。我应该在查询中使用“OR”来组合 HAVING 子句中的多个案例。

SELECT *
FROM  `otc_employee_qualifications` 
WHERE  `emp_qualifctn_type` IN ('26',  '27')
AND  `qualification_value` IN ('62', '64','65')
AND  `qualification_mark` >=  '10'
GROUP BY  `employee_id` 
HAVING COUNT( DISTINCT  `emp_qualifctn_type` ) =  '2'
OR  COUNT( DISTINCT  `qualification_value` ) =  '3'

这里的结果将为 Null,这是真的。

关于mysql - Mysql中的多个where in子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33890649/

相关文章:

php - 如何使用 Laravel 4 Eloquent 连接列?

mysql - 单个查询中的多个计数摘要

twitter-bootstrap-3 - 无法使用 SASS、Laravel 5 和 Elixir/Gulp 自定义 Twitter Bootstrap

javascript - 将多个 id 从复选框传递到 Laravel 中的 Controller

php - 无法让 php 发布到 mysql

mysql - 我怎样才能让我的标识列连续而没有间隙?

mysql - mysql数据库迟插入问题

php - Laravel MySql 连接表

php - 为什么我使用 Carbon 得到无效的数字?

javascript - & 到 base64 + Javascript 中的 &