gpt4 book ai didi

MYSQL查询更多条件

转载 作者:太空宇宙 更新时间:2023-11-03 11:45:31 25 4
gpt4 key购买 nike

我的 SQL 查询有问题。我有工作表和 job_feature。现在每个 Job 对象都有很多特性

示例:作业 1 具有功能 1、2、9。所以现在我需要查询:Select job has feature (1 or 2) and 9. Advanced。选择作业具有特征(1 或 2 或 3)和(9 或 10) 和...如果使用这个查询

SELECT * 
FROM `m_job` as job
JOIN `d_job_feature` as jf ON job.id= jf.job_id
WHERE (jf.feature_id = 1 OR jf.feature_id = 2)
AND jf.feature_id = 9;

=>返回空数据

那么现在,我如何使用 SQL 来查询这些数据。谢谢!

最佳答案

您的查询的问题是给定行的 feature_id 不能等于 1 或 2 以及 9。相反,您需要使用 group by 对您的功能进行分组。然后,您可以使用 condition aggregation 查看给定功能是否可以同时存在这两个条件。

这是一个使用 exists 的选项:

select *
from m_job as m
where exists (
select 1
from d_job_feature as d
where m.id=d.job_id
group by d.job_id
having max(case when d.feature_id in (1,2,3) then 1 else 0 end) = 1 and
max(case when d.feature_id in (9,10) then 1 else 0 end) = 1
)

关于MYSQL查询更多条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39157489/

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