gpt4 book ai didi

SQL 语句获取所有具有所有能力列表的公司

转载 作者:行者123 更新时间:2023-12-04 13:55:23 34 4
gpt4 key购买 nike

我有一个公司表,一个能力表和一个连接表;公司_能力

我试图让所有公司都与特定数据集中的所有能力相关联。

例如,我需要获得所有具有能力 1,2 和 3 的公司。

我从这个查询开始:

SELECT companies.id, companies.name FROM companies, companies_competencies
WHERE companies.id = companies_competencies.companies_id
AND companies_competencies.competency_id IN(1,2,3)
GROUP BY companies.id

这为我提供了具有 1 种或多种能力的所有公司,但我正在努力寻找专门拥有所有这些能力的公司。

最佳答案

这将为您提供具有所有必要能力的公司 ID 列表:

select companies_id
from companies_competencies
where competency_id in (1, 2, 3)
group by companies_id
having count(distinct competency_id) = 3 --the # of unique competency IDs

然后你可以这样做:

select *
from companies
where id in (
select companies_id
from companies_competencies
where competency_id in (1, 2, 3)
group by companies_id
having count(distinct competency_id) = 3
)

关于SQL 语句获取所有具有所有能力列表的公司,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21336516/

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