如何根据4张表输出SQL的职业总数
How to output total number of professions in SQL based on 4 tables
我可以通过此 link 获得以下表格:
tables。
我正在尝试查询,其中列出了学位(专业)和与该专业相关的计数。如果学位被列出两次以上,它应该输出 'Popular Degree'。我编码:
select profession, count(profession_id), count(profession_id) > 2 as Popular
from Profession
where profession_id in
(select profession_id from provider_profession)
group by profession
我得到了这个错误的输出:
My query result
不知道怎么查询结果
将count(profession_id) > 2 as Popular
替换为(case when count(profession_id) > 2 then 1 else 0 end) as Popular
试试这个:
select p.profession,
count(pp.provider_id),
case
when count(pp.provider_id)>2 then 'Popular degree'
else ''
end as DegreePopularity
from profession p inner join provider_profession pp on p.profession_id=pp.profession_id
group by p.profession
我已尝试使答案尽可能接近 ANSI sql,尽管仅在 sql 服务器
上对其进行了测试
我可以通过此 link 获得以下表格: tables。 我正在尝试查询,其中列出了学位(专业)和与该专业相关的计数。如果学位被列出两次以上,它应该输出 'Popular Degree'。我编码:
select profession, count(profession_id), count(profession_id) > 2 as Popular
from Profession
where profession_id in
(select profession_id from provider_profession)
group by profession
我得到了这个错误的输出: My query result
不知道怎么查询结果
将count(profession_id) > 2 as Popular
替换为(case when count(profession_id) > 2 then 1 else 0 end) as Popular
试试这个:
select p.profession,
count(pp.provider_id),
case
when count(pp.provider_id)>2 then 'Popular degree'
else ''
end as DegreePopularity
from profession p inner join provider_profession pp on p.profession_id=pp.profession_id
group by p.profession
我已尝试使答案尽可能接近 ANSI sql,尽管仅在 sql 服务器
上对其进行了测试