Ir para conteúdo
Fórum Script Brasil

Sergio Alves

Membros
  • Total de itens

    3
  • Registro em

  • Última visita

Sobre Sergio Alves

  • Data de Nascimento 20/06/1964

Perfil

  • Gender
    Male
  • Location
    Guanambi, Bahia

Contatos

  • Skype
    scgalves@gmail.com

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

Sergio Alves's Achievements

0

Reputação

  1. Observe a consulta abaixo: SELECT CODSUBGRUPO, COUNT(*) AS QUANTIDADE, CASE WHEN COUNT(*) < 298 THEN 'RUIM' WHEN COUNT(*) > 297 AND COUNT(*) < 595 THEN 'REGULAR' WHEN COUNT(*) > 594 AND COUNT(*) < 892 THEN 'BOM' WHEN COUNT(*) > 891 THEN 'ÓTIMO' END AS NOTA FROM C000025 GROUP BY CODSUBGRUPO HAVING COUNT(*) > 1 -> Está bem próximo do que você está querendo. Todavia, eu já sabia que a maior contagem de CODSUBGRUPO é 1.190. Sendo 4 as faixas de resultado (RUIM, REGULAR, BOM e ÓTIMO), fiz o cálculo abaixo: 1.190 / 4 = 297,5. Estabeleci o valor 297 para cada faixa e fiz a atribuição às faixas no CASE que cabe a cada parte. Para ter um resultado ideal, essa consulta deveria estar dentro de uma STORED PROCEDURE para poder separar as contagens de cada faixa (RUIM, REGULAR, BOM e ÓTIMO) e, ao final, exibir o resultado.
  2. Prezado: Left Join é a resposta. Quando você quer campos com registros da tabela à esquerda e campos com prováveis registros da tabela à direita, use left join. Exemplo da consulta: select ate.*, mat.*, tax.* from atendimento ate left join material mat on mat.campo_chave_estrangeira = ate.campo_chave_primaria left join taxa tax on tax.campo_chave_estrangeira = mat.campo_chave_primaria 1) Se não houver cláusula Where na consulta, todos os registros de Atendimento serão exibidos 2) Registros de Material vinculados ao Atendimento serão exibidos. Registros de Material sem vínculo com Atendimento serão exibidos como null. 3) Registros de Taxa vinculados ao Atendimento serão exibidos. Registros de Taxa sem vínculo com Atendimento serão exibidos como null. A depender do banco de dados, ao invés de Left Join, poderá ser Left Outer Join. Se fosse o inverso: me dê os prováveis registros de Atendimento e todos os registros de Material e todos os registros de Taxa... nesse caso seria o Right Join no lugar do Left Join.
  3. A planilha contém 3 pastas: "A_pagar", "BBD" e "CEF". "A_pagar" possui os campos ADt_vcto, AHistorico, AConta, AValor e ADt_pagto. A pasta "BBD" possui os campos BData, BHistorico e BValor; a pasta "CEF" possui os mesmos campos. Ação na pasta "A_pagar", numa linha qualquer: SE "o usuário preencher o campo ADt_pagto" E "o campo AConta da mesma linha não estiver preenchido" ENTÃO "o conteúdo da célula digitada no campo ADt_pagto deverá ser apagado" E "deverá ser exibida mensagem de aviso ao usuário solicitando o preenchimento do campo AConta" DO CONTRÁRIO, SE o usuário preencher o campo ADt_pagto E o campo AConta dessa mesma linha estiver preenchido com, p. ex., o texto "BBD" ENTÃO "o conteúdo dos campos ADt_pagto, AHistorico e AValor" dessa linha deverá inserido automaticamente na próxima linha vaga da pasta "BBD", respectivamente nos campos BData, BHistorico e BValor. SE na pasta A_pagar o campo AConta estava preenchido com o texto "CEF", o mesmo procedimento deverá ser feito na pasta "CEF", caso o campo ADt_pagto seja preenchido. Em resumo, quando for lançada uma data de pagamento em A_pagar, em qualquer linha, seu registro equivalente deverá ser inserido na pasta respectiva, BBD ou CEF. Agradeço antecipadamente pela atenção dispensada.
×
×
  • Criar Novo...