none
Comando produçãod e funcionarios RRS feed

  • Pergunta

  • Amigos  boa tarde,

    Preciso de ajuda no comando abaixo:

    O que eu faço nesse comando é pegar a quantidade de titulos de uma view e fazer menos a quantidade de outra view para saber a produção de cada funcionario

    Na view vw_cartorio_titulos_recebidos_matricula

    Tenho os campos:

    Nota        Funcionario   Andamento                        

    239498      Marcia      Matricula_recebido por  2012-07-18 16:58:03.503

    239526      Pedro       Matricula_recebido por  2012-07-18 16:58:03.503

    239533      Junior      Matricula_recebido por  2012-07-18 16:58:03.503

    239553      Josaine     Matricula_recebido por  2012-07-18 16:58:03.503

    Na view Vw_cartorio_producao_matricula

    Tenho exatamente os mesmos campos mas muda o campo andamento

    Nota        Funcionario   Andamento 

    239602      Felipe      Conferencia de registro 2012-07-18 14:20:42.000

    239662      Marcia      Conferencia de registro 2012-07-18 14:20:59.000

    239676      Junior      Conferencia de registro 2012-07-18 14:21:14.000

    239722      Debora      Conferencia de registro 2012-07-18 14:21:24.000

    O que eu preciso é saber quantos titulos foram recebidos e isso esta na vw_ vw_cartorio_titulos_recebidos_matricula

    Menos a quantidade de titulos produzidos que esta na

    Vw_cartorio_producao_matricula

    Mas não to conseguindo fazer isso por funcionario apenas a quantidade total

     Select T1.usuario,  T1.titulos, t2.producao, T1.titulos - T2.producao as diferenca

     from

     (select (funcionario)as usuario, COUNT (recepcao) as titulos

      

       from vw_cartorio_titulos_recebidos_matricula) as T1 inner join

      

       ( select COUNT (recepcao) as producao

       from Vw_cartorio_producao_matricula) as T2 ON 1 = 1

    Se alguem puder ajudar agradeço

    quarta-feira, 18 de julho de 2012 20:49

Respostas

  • J. Carlos,

    Pelo que entendi da descrição do seu problema, você deve fazer o agrupamento pelos campos Nota e Funcionario nas duas views, e depois fazer o relacionamento entre elas por esses campos.

    No meu entendimento ficaria mais ou menos assim:

     SELECT T1.usuario,  T1.titulos, t2.producao, T1.titulos - T2.producao as diferenca
       FROM (SELECT Nota
    		funcionario AS usuario, 
                    COUNT(recepcao) AS titulos
               FROM vw_cartorio_titulos_recebidos_matricula
              GROUP BY Nota, Funcionario) T1 
      INNER JOIN (SELECT Nota,
    		     funcionario AS usuario,
                         COUNT(recepcao) AS producao
                    FROM Vw_cartorio_producao_matricula
                   GROUP BY Nota, Funcionario) T2 
         ON T2.nota    = T1.Nota
        AND T2.Usuario = T1.Usuario
    Fiz esse código aqui mesmo, não o compilei, mas pode servir como ponto de partida para a resolução do seu problema.


    []'s
    Philipe Souza
    E-mail: Philipe.s.souza@hotmail.com

    • Marcado como Resposta J.Carlos.Rib sexta-feira, 20 de julho de 2012 14:00
    sexta-feira, 20 de julho de 2012 01:19

Todas as Respostas

  • Bom dia Carlos.

    Não sei se entendi muito bem, mas vamos lá.... veja se isso resolve sua vida.

    SELECT CTRM.Funcionario, 
    (SELECT COUNT(*) FROM VW_CARTORIO_TITULOS_RECEBIDOS_MATRICULA WHERE Funcionaroio = CTRM.Funcionario) - (SELECT COUNT(*) FROM VW_CARTORIO_PRODUCAO_MATRICULA WHERE Funcionario = CTRM.Funcionario)
    FROM VW_ VW_CARTORIO_TITULOS_RECEBIDOS_MATRICULA CTRM

    é algo similar a isso que você precisa?

    quinta-feira, 19 de julho de 2012 11:19
  • Não na verdade eu preciso que saia assim:

    Funcionario               Titulos Produzidos         Titulos Recebidos         Diferença

    Joao                                   25                              30                                5

    Maria                                  35                              30                                5

    Fernando                            45                              15                                30

    A view Vw_cartorio_producao_matricula me da a quantidade produzida de todos os funcionarios

    a view vw_cartorio_titulos_recebidos_matricula me da a quantidade de titulos que cada funcionario recebeu

    O que eu precisava fazer é saber a quantidade total que cada funcionario recebeu MENOS a quantidade total que cada funcionario produziu e saber a diferenca que resta

    Essa quantidade pode ser pelo campo Nota que existem nas duas views

    Ou seja a quantidade do campo NOTA por funcionario na view Vw_cartorio_producao_matricula MENOS  a quantidade do campo NOTA da view vw_cartorio_titulos_recebidos_matricula - daria isso que eu preciso

    Porem nao consigo fazer isso linha a linha por funcionario que seria desta forma:

    Funcionario               Titulos Produzidos         Titulos Recebidos         Diferença

    Joao                                   25                              30                                5

    Maria                                  35                              30                                5

    Fernando                            45                              15                                30



    • Editado J.Carlos.Rib quinta-feira, 19 de julho de 2012 12:14 acres
    quinta-feira, 19 de julho de 2012 12:12
  • J. Carlos,

    Pelo que entendi da descrição do seu problema, você deve fazer o agrupamento pelos campos Nota e Funcionario nas duas views, e depois fazer o relacionamento entre elas por esses campos.

    No meu entendimento ficaria mais ou menos assim:

     SELECT T1.usuario,  T1.titulos, t2.producao, T1.titulos - T2.producao as diferenca
       FROM (SELECT Nota
    		funcionario AS usuario, 
                    COUNT(recepcao) AS titulos
               FROM vw_cartorio_titulos_recebidos_matricula
              GROUP BY Nota, Funcionario) T1 
      INNER JOIN (SELECT Nota,
    		     funcionario AS usuario,
                         COUNT(recepcao) AS producao
                    FROM Vw_cartorio_producao_matricula
                   GROUP BY Nota, Funcionario) T2 
         ON T2.nota    = T1.Nota
        AND T2.Usuario = T1.Usuario
    Fiz esse código aqui mesmo, não o compilei, mas pode servir como ponto de partida para a resolução do seu problema.


    []'s
    Philipe Souza
    E-mail: Philipe.s.souza@hotmail.com

    • Marcado como Resposta J.Carlos.Rib sexta-feira, 20 de julho de 2012 14:00
    sexta-feira, 20 de julho de 2012 01:19