select 在数据透视表中有多行 table

select with a multiple row in pivot table

我真的不知道如何从数据透视表中检索特定行 table。

这是我的支点 table:

+----+-------------+--------+
| id | peticion_id | tag_id |
+----+-------------+--------+
|  1 |           3 |     15 |
|  2 |           3 |     21 |
|  3 |           3 |     28 |
|  4 |           8 |     21 |
|  5 |           8 |     28 |
|  6 |          44 |     21 |
|  7 |          44 |     28 |
+----+-------------+--------+

我想做也许我认为是一个动态查询,例如如果我这样做:

SELECT peticion_id where tag_id in (21,28,15);

结果是:

+-----+-------------+--------+
| id  | peticion_id | tag_id |
+-----+-------------+--------+
|   1 |           3 |     15 |
|   2 |           3 |     21 |
|   6 |          44 |     21 |
|   4 |           8 |     21 |
|   3 |           3 |     28 |
|   7 |          44 |     28 |
|   5 |           8 |     28 |
+-----+-------------+--------+

我只需要结果 peticion_id = 3.

我不知道如何制定查询,也许我正在寻找相当于 for(where in) 的 AND 子句。

希望有人帮忙。 谢谢

试试这个:

SELECT peticion_id
FROM tbl
WHERE tag_id in (21,28,15)
GROUP BY peticion_id
HAVING count(*) = 3