SQL查询以基于其他列过滤列

时间:2018-07-07 19:48:24

标签: mysql sql relational-database relationship

我有一个类似下面的关系表:

我想编写一个查询,如果我输入tag_id,我需要根据以下规则获取video_id。 如果标签属于同一类别,则标签之间的OR条件。 如果标签属于不同类别,则标签之间的AND条件

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

我无法进行查询,有人可以帮我解决这个问题还是为我提供解决方案的指导?

谢谢

2 个答案:

答案 0 :(得分:0)

一次输入

class buble_sort{
  public static void main(String a[]){

    int[] num={7,9,2,4,5,6,3};
    int i,j,tmp;

    for(i=0;i<num.length;i++){
        for(j=0;j<num.length-i;j++){
            if(j==(num.length-1)){
                break;
            }
            else{
                if(num[j]>num[j+1]){
                    tmp=num[j];
                    num[j]=num[j+1];
                    num[j+1]=tmp;
                }
            }
        }
    }

    for(i=0;i<num.length;i++){
        System.out.print(num[i]+"  ");
    }
}

用于多个输入

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

答案 1 :(得分:0)