Como selecionar a data mais recente do campo "dataalteracao"

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
jaderdeandrade
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 2
Registrado em: Ter, 10 Set 2019 3:54 pm

SELECT idunidade, dataalteracao, nmempregado, superintendencia, divisaodistrito, dscargo
FROM ( SELECT uc.idunidade,h.dataalteracao, e.nmempregado, u.superintendencia, u.divisaodistrito, C.dscargo
FROM sicoe_unidade un, sicoe_unidadeconsumidora uc, sicoe_identundconsumidora ID,
sicoe_quadrocarga q, sicoe_quadrocargahist h, corp_empregado e, sicoe_vw_hierarquiaundorg u, corp_cargo C
WHERE h.usralteracao = e.numatriculaempregado AND e.idunidadeorganiz = u.idunidadeorganiz
AND h.idquadrocarga = q.idquadrocarga AND q.idunidade = un.idunidade
AND un.idunidade = uc.idunidade AND uc.idunidadeconsumidora = ID.idunidadeconsumidora
AND uc.idunidade IN (848, 849, 850, 852, 1580, 2101, 2355, 3970, 4704, 4936, 5132, 5176, 5183, 5191, 5207, 5351, 8041, 9944, 902, 903, 904, 2058, 2059, 2308, 2309, 2670, 4243, 4560, 4578, 4579, 5302, 8326, 7768, 10361, 10321, 10301, 913, 915, 4798, 5222, 5223, 3112, 3171, 869, 3170, 3699, 3972, 4340, 4555, 4619, 5283, 9181, 870, 871, 872, 476, 477, 478, 2422, 2578, 2753, 3672, 3680, 4660, 4775, 5174, 5175, 5224, 3187, 873, 2996, 3037, 3816, 4133, 4569, 874, 1700, 3678, 5861, 910, 911, 912, 914, 1553, 4791, 878, 879, 880, 2839, 3973, 4576, 5802, 5987, 7325, 7056, 9565, 884, 885, 1508, 1785, 1786, 3811, 4248, 6365, 5369, 7763, 8523, 1687, 2103, 8703, 2472, 1505, 2756, 2841, 2873, 499, 500, 501, 502, 503, 504, 1501, 1577, 1856, 2296, 3957, 3958, 4831, 5112, 5121, 5139, 10127, 889, 1910, 4038, 8028, 890, 891, 892, 895, 896, 897, 4634) AND h.tipoalteracao = 'ALTERACAO' AND e.cdcargo = C.cdcargo
ORDER BY idunidade,
dataalteracao DESC);
jaderdeandrade
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 2
Registrado em: Ter, 10 Set 2019 3:54 pm

Esse codigo faz a seleção mas não exibe o campo/coluna dataalteracao

Selecionar tudo

SELECT idunidade, nmempregado, superintendencia, divisaodistrito, dscargo
FROM (SELECT uc.idunidade, MAX(h.dataalteracao), e.nmempregado, u.superintendencia, u.divisaodistrito, C.dscargo
FROM sicoe_unidade un, sicoe_unidadeconsumidora uc, sicoe_identundconsumidora ID,
sicoe_quadrocarga q, sicoe_quadrocargahist h, corp_empregado e, sicoe_vw_hierarquiaundorg u, corp_cargo C
WHERE h.usralteracao = e.numatriculaempregado AND e.idunidadeorganiz = u.idunidadeorganiz
AND h.idquadrocarga = q.idquadrocarga AND q.idunidade = un.idunidade
AND un.idunidade = uc.idunidade AND uc.idunidadeconsumidora = ID.idunidadeconsumidora
AND uc.idunidade IN (848, 849, 850, 852, 1580, 2101, 2355, 3970, 4704, 4936, 5132, 5176, 5183, 5191, 5207, 5351, 8041, 9944, 902, 903, 904, 2058, 2059, 2308, 2309, 2670, 4243, 4560, 4578, 4579, 5302, 8326, 7768, 10361, 10321, 10301, 913, 915, 4798, 5222, 5223, 3112, 3171, 869, 3170, 3699, 3972, 4340, 4555, 4619, 5283, 9181, 870, 871, 872, 476, 477, 478, 2422, 2578, 2753, 3672, 3680, 4660, 4775, 5174, 5175, 5224, 3187, 873, 2996, 3037, 3816, 4133, 4569, 874, 1700, 3678, 5861, 910, 911, 912, 914, 1553, 4791, 878, 879, 880, 2839, 3973, 4576, 5802, 5987, 7325, 7056, 9565, 884, 885, 1508, 1785, 1786, 3811, 4248, 6365, 5369, 7763, 8523, 1687, 2103, 8703, 2472, 1505, 2756, 2841, 2873, 499, 500, 501, 502, 503, 504, 1501, 1577, 1856, 2296, 3957, 3958, 4831, 5112, 5121, 5139, 10127, 889, 1910, 4038, 8028, 890, 891, 892, 895, 896, 897, 4634) AND h.tipoalteracao = 'ALTERACAO' AND e.cdcargo = C.cdcargo
GROUP BY uc.idunidade, e.nmempregado, u.superintendencia, u.divisaodistrito, 
C.dscargo);
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Faltou você colocar a maior data de alteração na sua cláusula SELECT.

Veja:

Selecionar tudo

SELECT idunidade, nmempregado, superintendencia, divisaodistrito, dscargo, maior_dt_alt
  FROM (SELECT uc.idunidade,
               MAX(h.dataalteracao) maior_dt_alt,
               e.nmempregado,
               u.superintendencia,
               u.divisaodistrito,
               C.dscargo
          FROM sicoe_unidade             un,
               sicoe_unidadeconsumidora  uc,
               sicoe_identundconsumidora ID,
               sicoe_quadrocarga         q,
               sicoe_quadrocargahist     h,
               corp_empregado            e,
               sicoe_vw_hierarquiaundorg u,
               corp_cargo                C
         WHERE h.usralteracao = e.numatriculaempregado
           AND e.idunidadeorganiz = u.idunidadeorganiz
           AND h.idquadrocarga = q.idquadrocarga
           AND q.idunidade = un.idunidade
           AND un.idunidade = uc.idunidade
           AND uc.idunidadeconsumidora = ID.idunidadeconsumidora
           AND uc.idunidade IN (848,
                                849,
                                850,
                                852,
                                1580,
                                2101,
                                2355,
                                3970,
                                4704,
                                4936,
                                5132,
                                5176,
                                5183,
                                5191,
                                5207,
                                5351,
                                8041,
                                9944,
                                902,
                                903,
                                904,
                                2058,
                                2059,
                                2308,
                                2309,
                                2670,
                                4243,
                                4560,
                                4578,
                                4579,
                                5302,
                                8326,
                                7768,
                                10361,
                                10321,
                                10301,
                                913,
                                915,
                                4798,
                                5222,
                                5223,
                                3112,
                                3171,
                                869,
                                3170,
                                3699,
                                3972,
                                4340,
                                4555,
                                4619,
                                5283,
                                9181,
                                870,
                                871,
                                872,
                                476,
                                477,
                                478,
                                2422,
                                2578,
                                2753,
                                3672,
                                3680,
                                4660,
                                4775,
                                5174,
                                5175,
                                5224,
                                3187,
                                873,
                                2996,
                                3037,
                                3816,
                                4133,
                                4569,
                                874,
                                1700,
                                3678,
                                5861,
                                910,
                                911,
                                912,
                                914,
                                1553,
                                4791,
                                878,
                                879,
                                880,
                                2839,
                                3973,
                                4576,
                                5802,
                                5987,
                                7325,
                                7056,
                                9565,
                                884,
                                885,
                                1508,
                                1785,
                                1786,
                                3811,
                                4248,
                                6365,
                                5369,
                                7763,
                                8523,
                                1687,
                                2103,
                                8703,
                                2472,
                                1505,
                                2756,
                                2841,
                                2873,
                                499,
                                500,
                                501,
                                502,
                                503,
                                504,
                                1501,
                                1577,
                                1856,
                                2296,
                                3957,
                                3958,
                                4831,
                                5112,
                                5121,
                                5139,
                                10127,
                                889,
                                1910,
                                4038,
                                8028,
                                890,
                                891,
                                892,
                                895,
                                896,
                                897,
                                4634)
           AND h.tipoalteracao = 'ALTERACAO'
           AND e.cdcargo = C.cdcargo
         GROUP BY uc.idunidade,
                  e.nmempregado,
                  u.superintendencia,
                  u.divisaodistrito,
                  C.dscargo);
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 17 visitantes