Mysql 基于其他列筛选列的SQL查询

Mysql 基于其他列筛选列的SQL查询,mysql,sql,relational-database,relationship,Mysql,Sql,Relational Database,Relationship,我有一个如下所示的关系表: 我想写一个查询,如果我输入tag_id,我需要根据以下规则获取视频id。 如果标签属于同一类别,则在标签之间设置或设置条件。 如果标签属于不同的类别,那么标签之间的状态 tag_id pvid_id cat_id 1 1 1 1 2 1 2 2 2 在上面的例子中 如果我将tag_id 1作为输入,那么pvid_id的预期输出为1,2 如果我给t

我有一个如下所示的关系表:

我想写一个查询,如果我输入tag_id,我需要根据以下规则获取视频id。 如果标签属于同一类别,则在标签之间设置或设置条件。 如果标签属于不同的类别,那么标签之间的状态

tag_id  pvid_id     cat_id  
1       1           1   
1       2           1   
2       2           2
在上面的例子中

如果我将tag_id 1作为输入,那么pvid_id的预期输出为1,2

如果我给tag_id 1,2作为输入,那么pvid_id的预期输出是2

我无法解释这个问题,有人能帮我一下吗,或者给我一个解决问题的方向吗

谢谢你的一点意见

Select tag_id, 
group_concat(distinct pvid_id) 
from your_table where tag_id=1 
group by tag_id
多输入

Select tag_id, 
group_concat(distinct pvid_id) 
from your_table where tag_id 
in('1','2')
group by tag_id
使用:

select group_concat(pvid_id separator ', ') as result
  from tab
 where tag_id = 1 -- or tag_id = 2

result
 1, 2