Pular para o conteúdo principal

Postagem em destaque

BlackTDN NEWS :: 2025.02.21 :: 21:27:27

_Créditos das imagens: ChatGPT # Aplicações para Estudantes Universitários: Windows e o Office podem ajudar no sucesso **Fonte:** Sapo.pt **Autor:** Mário Sousa **Publicado em:** 2025-02-21T10:30:49Z ![Imagem](https://pplware.sapo.pt/wp-content/uploads/2025/02/Aplicacoes-para-Estudantes-Universitarios-Windows-e-o-Office-podem-ajudar-no-sucesso.jpg) > No contexto académico, encontrar as ferramentas certas para optimizar os estudos é crucial. Assim, exploramos aqui as melhores aplicações disponíveis para estudantes universitários que utilizam Windows 10 ou 11, com destaque para as soluções... [Leia mais](https://pplware.sapo.pt/truques-dicas/aplicacoes-estudantes-universitarios-windows-office-ajudar-sucesso/) --- # Razer destaca principais tecnologias de seus dispositivos e indica novos lançamentos no Brasil **Fonte:** Tudocelular.com **Autor:** Tudocelular.com **Publicado em:** 2025-02-21T08:45:00Z ![Imagem](https://t2.tudocdn.net/746440?w=1920) > Em uma visita ao escritó...

[BlackTDN] :: Identificando as marcações ímpares na tabela SP8

1) A consulta das marcações impares;
2) A "deleção lógica" dos registros impares;

Segue:

1) Para consultar as marcações impares:

------------------------------------------------------------------------------------------------
SELECT SP8.P8_FILIAL
      ,SP8.P8_MAT
      ,SP8.P8_PAPONTA
      ,SP8.P8_ORDEM
  FROM SP8010 SP8
WHERE SP8.D_E_L_E_T_=' '
GROUP BY SP8.P8_FILIAL
        ,SP8.P8_MAT
        ,SP8.P8_PAPONTA
        ,SP8.P8_ORDEM
HAVING ((COUNT(*)%2)=1)
ORDER BY 1,2,3,4
------------------------------------------------------------------------------------------------
2) Para a "Deleção Lógica" das marcações impares:

UPDATE SP8_U
    SET SP8_U.D_E_L_E_T_='*'
FROM
  SP8010 SP8_U
  INNER JOIN
  (
      SELECT SP8.P8_FILIAL
            ,SP8.P8_MAT
            ,SP8.P8_PAPONTA
            ,SP8.P8_ORDEM
      FROM SP8010 SP8
    WHERE SP8.D_E_L_E_T_=' '
    GROUP BY SP8.P8_FILIAL
            ,SP8.P8_MAT
            ,SP8.P8_PAPONTA
            ,SP8.P8_ORDEM
    HAVING ((COUNT(*)%2)=1)
   ) SP8_R
   ON  SP8_U.P8_FILIAL=SP8_R.P8_FILIAL
  AND SP8_U.P8_MAT=SP8_R.P8_MAT
  AND SP8_U.P8_PAPONTA=SP8_R.P8_PAPONTA
  AND SP8_U.P8_ORDEM=SP8_R.P8_ORDEM
WHERE SP8_U.D_E_L_E_T_=' ' 

OU
------------------------------------------------------------------------------------------------
MERGE INTO
  SP8010 SP8_U
USING
  (
      SELECT SP8.P8_FILIAL
            ,SP8.P8_MAT
            ,SP8.P8_PAPONTA
            ,SP8.P8_ORDEM
      FROM SP8010 SP8
    WHERE SP8.D_E_L_E_T_=' '
    GROUP BY SP8.P8_FILIAL
            ,SP8.P8_MAT
            ,SP8.P8_PAPONTA
            ,SP8.P8_ORDEM
    HAVING ((COUNT(*)%2)=1)
  ) SP8_R
ON  SP8_U.P8_FILIAL=SP8_R.P8_FILIAL
AND SP8_U.P8_MAT=SP8_R.P8_MAT
AND SP8_U.P8_PAPONTA=SP8_R.P8_PAPONTA
AND SP8_U.P8_ORDEM=SP8_R.P8_ORDEM
WHEN MATCHED THEN
  UPDATE SET
    SP8_U.D_E_L_E_T_='*';

------------------------------------------------------------------------------------------------
Obs.:

1) Antes de efetuar qualquer operação que modifique os dados diretamente no SGBD efetue uma cópia da tabela;

2) Nem sempre os registros devem ser deletados. A melhor opção é identificar os funcionários com marcações impares e incluir a marcação faltante.

Comentários

Postagens mais visitadas