Mysql选择查询特殊条件

Mysql选择查询特殊条件,mysql,Mysql,我在db中有3个表:文件、类别和文件到类别 我有类别id,只需要选择只属于此类别的文件 文件到目录表格结构为: id file_id category_id 是否可以只使用一个查询 select f.* from file f join file_to_category fc on fc.file_id = f.id group by f.id having count(distinct fc.category_id) = 1 and sum(fc.category_id = $your_ca

我在db中有3个表:
文件
类别
文件到类别

我有类别id,只需要选择只属于此类别的文件

文件到目录
表格结构为:

id
file_id
category_id
是否可以只使用一个查询

select f.*
from file f
join file_to_category fc on fc.file_id = f.id
group by f.id
having count(distinct fc.category_id) = 1
and sum(fc.category_id = $your_category_id) > 0

一个文件可以属于多个类别。我只需要选择没有其他类别和属于当前类别的文件。谢谢。一个文件可以属于多个类别。我只需要选择没有其他类别和属于当前类别的文件。谢谢。一个文件可以属于多个类别。我只需要选择没有其他类别,属于当前类别的文件,谢谢
select file.file_id, FileName,category.category_id,Category from file join file_to_category 
on File.file_id=file_to_category.file_id join 
category on category.category_id=file_to_category.category_id group by file.file_id 
having count(file.file_id)=1