Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Assim pessoal a questão é essa
15-) Mostrar todos os meses, e para cada um deles, o número de demitidos e contratados
OK mas a parte do numero de demitidos e contratados está meio que me tirando o sono rs, segue o que consegui fazer!
CREATE OR REPLACE PROCEDURE P_TODOS_MESES IS
BEGIN
FOR I IN (SELECT
DISTINCT TO_CHAR(DATA_ADMISSAO,'MM') LOL
FROM EMPRE
GROUP BY DATA_ADMISSAO) LOOP
DBMS_OUTPUT.PUT_LINE(' O MES DE ADMISSAO É : '||I.LOL||' E A QUANTIDADE DE DEMITIDOS É :');
END LOOP;
BEGIN
FOR R IN (SELECT
DISTINCT TO_CHAR(DATA_RESCISAO,'MM') LOL1
FROM EMPRE
GROUP BY DATA_RESCISAO) LOOP
DBMS_OUTPUT.PUT_LINE(' O MES DE RESCISAO É : '||R.LOL1||' E A QUANTIDADE DE DEMITIDOS É :');
END LOOP;
END;
END;
porém não consigo trazer a quantidade.. já tentei usar COUNT e etc.. mas acho que não é isso.. alguém pode dar um HELP? VALEU \o
a estrutura da tabela é essa
CÓDIGO NUMBER(5)
NOME VARCHAR2(50)
SOBRENOME VARCHAR2(50)
DATA_ADMISSAO DATE
DATA_RESCISAO DATE
SALÁRIO NUMBER(9,2)
PROFISSAO VARCHAR2(40)
DEPTO NUMBER(3)
>
Está quase lá, tente ...
Agrupar pelo mes (veja a function to_char).
Usar o count
Vá nessa linha uma sql para admitidos uma para demitidos, depois tente juntar.
POXA MOTTA VALEU MESMO \Õ/ OLHA COMO FICOU...
CREATE OR REPLACE PROCEDURE P_TODOS_MESES IS
BEGIN
FOR I IN (SELECT
DISTINCT TO_CHAR(DATA_ADMISSAO,'MM') LOL,
COUNT(*) LOL1
FROM EMPRE
GROUP BY TO_CHAR(DATA_ADMISSAO,'MM')) LOOP
DBMS_OUTPUT.PUT_LINE(' O MES DE ADMISSAO É : '||I.LOL||' E A QUANTIDADE DE DEMITIDOS É :'||I.LOL1);
END LOOP;
BEGIN
FOR R IN (SELECT
DISTINCT TO_CHAR(DATA_RESCISAO,'MM') LOL1,
COUNT(*) LOL2
FROM EMPRE
WHERE DATA_RESCISAO IS NOT NULL
GROUP BY TO_CHAR(DATA_RESCISAO,'MM')) LOOP
DBMS_OUTPUT.PUT_LINE(' O MES DE RESCISAO É : '||R.LOL1||' E A QUANTIDADE DE DEMITIDOS É :'||R.LOL2);
END LOOP;
END;
END;
Está quase lá, tente ...
Agrupar pelo mes (veja a function to_char).
Usar o count
Vá nessa linha uma sql para admitidos uma para demitidos, depois tente juntar.