2015-05-14 33 views
0

我真的不知道如何從數據透視表中檢索特定的行。在數據透視表中選擇多行

這裏是我的數據透視表:

+----+-------------+--------+ 
| 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 = 。

我不知道如何制定查詢,也許我正在尋找(在哪裏)作爲AND子句的等價物。

希望有人幫助。 感謝名單

回答

1

試試這個:

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

它的工作...非常感謝... –

相關問題