nada mas retorna el id que tenga los 5 periodos, probaste la query??? para mi que no......
Código SQL:
Ver originalCREATE TABLE #temp
(
id INT,
periodo INT
)
INSERT INTO #temp VALUES (1 , 201309)
INSERT INTO #temp VALUES (1 , 201309)
INSERT INTO #temp VALUES (1 , 201310)
INSERT INTO #temp VALUES (1 , 201311)
INSERT INTO #temp VALUES (1 , 201312)
INSERT INTO #temp VALUES (1 , 201401)
INSERT INTO #temp VALUES (2 , 201309)
INSERT INTO #temp VALUES (2 , 201401)
INSERT INTO #temp VALUES (3 , 201309)
INSERT INTO #temp VALUES (3 , 201310)
INSERT INTO #temp VALUES (3 , 201311)
INSERT INTO #temp VALUES (3 , 201312)
INSERT INTO #temp VALUES (3 , 201401)
INSERT INTO #temp VALUES (4 , 201309)
INSERT INTO #temp VALUES (4 , 201310)
SELECT id FROM(
SELECT id,SUM(total) suma FROM(
SELECT id,periodo, CASE WHEN periodo=201309 OR periodo=201310 OR periodo=201311 OR periodo=201312 OR periodo=201401 THEN COUNT(1) END AS total FROM #temp GROUP BY id,periodo
) AS t1 GROUP BY id
) AS t2 WHERE suma>=5
pruebo con estos datos y obtengo 1 y 3, donde dices que no se obtiene lo que necesitas?? estas usando sql server???