Mysql选择复杂查询

时间:2016-01-30 07:15:20

标签: php mysql

我很抱歉这个模糊的标题,但我真的不能用我的英语更具体。

我有一个名为posts__tags的表,用于将post idstag ids与以下列相关联

record_idpost_idtag_id。这是一个示例示例

record_id | post_id | tag_id  
1         |    1    |   1     
2         |    1    |   2     
3         |    1    |   3     
4         |    2    |   2     
5         |    3    |   1     
6         |    3    |   3     
7         |    4    |   2     
8         |    4    |   3     
9         |    4    |   4   

我有一个php函数,它有一个tag_ids数组作为参数。让我们说例如我的参数是array(2,3)。我需要选择与tag_id = 2tag_id = 3相关联的所有post_id。

在上面的示例中,我应该获得1和4 post_id,因为只有那些与2和3 tag_id相关联。

使用MySQL查询实现这一目标的最佳方法是什么?

提前致谢

2 个答案:

答案 0 :(得分:1)

试试这个

if (test.match(/^\d+\.*/) !== null) {
    alert('it is list-item');
}

答案 1 :(得分:1)

select post_id from posts__tags where tag_id in (1,2) group by post_id having count(*)=2