QUERY

#94259
Avatar de Sousa04Sousa04
Participante

não não.

Hoje a noite tive um sonho e nesse sonho eu vi a solução rsrsrs.

separei essa tabela em duas tabela primeiro e tabela segundo. Uma com os primeiros lugares por seção e outra com os segundos lugares por seção tbm.

depois peguei a tabela dos primeiros e fiz um select para pegar os dois maiores votos por seção e jogar numa terceira tabela, caso existir apenas um maior voto em determinada secao pego um da tabela primeiro e outro da tabela segundo e jogo na terceira tabela.
Caso existir dois ou mais com maior voto naquela secao pego dois e jogo na tabela terceiro
segue um trechinho do codigo
INSERT INTO RAMDOMICO1
SELECT * FROM TB_RESULTADO_GERAL
WHERE NOMESECAO = CURSOR_TEMP.NOMESECAO
AND VOTOS = PRIMEIRO
AND CPF NOT IN (SELECT CPF FROM RAMDOMICO1);

    -- INSERE NA TABELA OS SEGUNDOS COLOCADOS
          INSERT INTO RAMDOMICO2
          SELECT *  FROM TB_RESULTADO_GERAL
           WHERE NOMESECAO = CURSOR_TEMP.NOMESECAO
           AND VOTOS = SEGUNDO
           AND CPF NOT IN (SELECT CPF FROM RAMDOMICO2);

FOR CURSOR_RANDOM IN (SELECT DISTINCT(NOMESECAO) FROM RAMDOMICO1)
LOOP
–VERIFICAR O NUMERO DE REGISTROS DE UMA SECAO

  SELECT COUNT(*) INTO VAR_LINHA FROM RAMDOMICO1 WHERE NOMESECAO = CURSOR_RANDOM.NOMESECAO;
-- SE RETORNAR APENAS UM REGISTRO INSERE NA TB_FINAL O PRIMEIRO E O SEGUNDO

    IF VAR_LINHA = 1 THEN
      INSERT INTO TB_FINAL
      SELECT * 
      FROM (SELECT * 
            FROM RAMDOMICO1 
            WHERE NOMESECAO = CURSOR_RANDOM.NOMESECAO
            ORDER BY dbms_random.value)
      WHERE ROWNUM < 2;

      INSERT INTO TB_FINAL
      SELECT * 
      FROM (SELECT * 
            FROM RAMDOMICO2 
            WHERE NOMESECAO = CURSOR_RANDOM.NOMESECAO
            ORDER BY dbms_random.value)
      WHERE ROWNUM  1 THEN
          INSERT INTO TB_FINAL
          SELECT * 
          FROM (SELECT * 
                FROM RAMDOMICO1 
                WHERE NOMESECAO = CURSOR_RANDOM.NOMESECAO
                ORDER BY dbms_random.value)
          WHERE ROWNUM < 3;
        END IF;
    END IF;
END LOOP;

Se eu continuar praticando assim dia eu aprendo!!!!!!
rrsrs
Vlw Ishi
obrigado ai

plugins premium WordPress