PauloTI 0 Denunciar post Postado Agosto 5, 2012 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) Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Agosto 5, 2012 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. Compartilhar este post Link para o post Compartilhar em outros sites
PauloTI 0 Denunciar post Postado Agosto 5, 2012 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; Compartilhar este post Link para o post Compartilhar em outros sites