将项目分类为两个特定类别时,请选择单行[MySql]

时间:2018-07-19 10:43:36

标签: mysql

我可以在类别表上使用联接后返回一行的单个实例。

条目

| id | Name   | 
| 1  | Johnny |
| 2  | Steve  |
| 3  | Bam    |

类别

| cat_id | Name        | 
| 1      | Season one  |
| 2      | Season two  |
| 3      | Season three|

类别帖子

| id | cat_id | 
| 1  | 1      |
| 1  | 2      |
| 1  | 3      |
| 2  | 2      |
| 2  | 3      |
| 3  | 1      |

我想做的是选择所有已加入第2季和第3季的成员的演员​​表,他们必须都在第2季和第3季,并且我只希望返回一个实例。

预期产量

| id | Name   | 
| 1  | Johnny |
| 2  | Steve  |

如何选择这些?我曾考虑过根据用户名对用户进行分组,因为我选择了 IN(“ 2”,“ 3”),但我得到的用户中有两个,但不是三个结果是错误的。

谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用子查询

    SELECT id,name from Entries where id in (select a.id from (select id from 
category_post WHERE cat_id=2) as a,(select id from category_post WHERE cat_id=3) as b where a.id=b.id)