gpt4 book ai didi

mysql - Mysql中的多个where in子句

转载 作者:行者123 更新时间:2023-11-29 02:52:50 25 4
gpt4 key购买 nike

当使用以下查询时,我得到了不正确的结果。使用多个 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com