Mysql 基于其他列筛选列的SQL查询
我有一个如下所示的关系表: 我想写一个查询,如果我输入tag_id,我需要根据以下规则获取视频id。 如果标签属于同一类别,则在标签之间设置或设置条件。 如果标签属于不同的类别,那么标签之间的状态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 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