Ir para conteúdo
Fórum Script Brasil

Vinicius Schuh

Membros
  • Total de itens

    82
  • Registro em

  • Última visita

Posts postados por Vinicius Schuh

  1. Bom dia Rodrigo.

    Me parece que o serviço NETLOGON não foi iniciado e como o SQL Server depende desse serviço ele também não pode iniciar.

    Sugiro atacar as seguintes linhas uma de cada vez e testar para ver se resolve:

    - Tirar e recolocar a máquina do domínio atual ou mudar tal domínio para ver se ela "se atualiza";

    - Alterar o usario do servico pelo "SQL SERVER Configuration Manager"

    - Vai no Management Studio do sql\ Sql Server Agent\lado direito properties\Connection\ e dai tenta se conectar com o windows autethication ou um outro usuario que tenha permisão de administrador.

    - Paralelamente pesquise as chaves de registry que apontam para o domínio antigo e substitua pelo domínio novo (faça uma backup da registry antes).

    A última sugestão é bem arriscada e só recomendo utilizá-la se não houver nada mais que seja possível para iniciar o NetLogon.

    Espero ter ajudado. Abç

  2. Bom dia, na primeira postagem você queria saber os funcionários que ganhavam mais que 30.000 por mês por isso do SQL.

    Para saber a soma em um determinado período, primeiramente você tera que saber a partir de qual campo você ira verificar esses salários em um certo tempo para que possa aplicar alguma cláusula de período. Vou colocar um exemplo, talvez te ilumine:

    SELECT     Sum(SALARIO) As Total, Data
    FROM         TABELA
    GROUP BY Data
    HAVING      Data BETWEEN '2011-01-01' And '2011-12-31' (lembrando que em SQL o formatado da data é AAAA/MM/DD)

    Ira SOMAR os valores da coluna salário no intervalo entre 01/01/2011 e 31/12/2011

    Espero ter ajudado! Até +

  3. Boa Tarde Leo.

    Você pode usar o comando SELECT TOP n - ( n é o numero de registros a retornar) antes da instrução SELECT. A sintaxe seria:

    SELECT TOP 20 nome, endereco, email
      FROM tabela
      ORDER BY nome

    Ira retornar apenas 20 registros.

    Espero ter ajudado. Até +

  4. Bom dia Aluam, acredito que com a clausula CASE resolvera seu problema

    preciso contar somente os campos situacao que tenham a palavra 'atendido'

    em seu registro

    Exemplo:

    ATENDIDO = CASE
        WHEN (seu_campo = 'ATENDIDO') THEN COUNT(seu_campo)
       END,

    Provavelmente você terá que adicionar o seu_campo na clausula GROUP BY para que não de erro.

    Espero ter ajudado ^_^ abç

  5. Boa tarde amigos e leitores do Fórum espero que esteja tudo bem com todos. Preciso da ajuda de vocês.

    Estou desenvolvendo um relatório de orçamentos cujo objetivo será exibir seguintes informações:

    Funcionário - Cicrano

    Janeiro - teve três orçamentos em aberto (que não foi feito venda)

    Teve cinco orçamentos Concluídos (que foram feito venda)

    E assim por diante. Fiz o SQL:

    SELECT     
           dbo.Funcionários.NomeDoFuncionário, 
           Month(dbo.Orçamento.DataDoOrçamento) As Mes, 
           NM_Mes = Case Month(dbo.Orçamento.DataDoOrçamento) 
                                   When '1' Then 'JANEIRO' When '2' Then 'FEVEREIRO' When '3' Then 'MARÇO'
                                   When '4' Then 'ABRIL' When '5' Then 'MAIO' When '6' Then 'JUNHO' 
                                   When '7' Then 'JULHO' When '8' Then 'AGOSTO' When '9' Then 'SETEMBRO' 
                                   When '10' Then 'OUTUBRO' When '11' Then 'NOVEMBRO' When '12' Then 'DEZEMBRO' 
                           End,
           dbo.Orçamento.CódigoDoFuncionário,
           Status = Case When NO_Venda Is Not Null Then 'Fechado'
                      When NO_Venda Is Null Then 'Aberto' 
               End    
    FROM         
          dbo.Orçamento 
    LEFT JOIN
          dbo.Funcionários On dbo.Orçamento.CódigoDoFuncionário = dbo.Funcionários.CódigoDoFuncionário
    GROUP BY 
          Month(dbo.Orçamento.DataDoOrçamento), 
          dbo.Funcionários.NomeDoFuncionário, 
          dbo.Orçamento.CódigoDoFuncionário,
          NO_Venda

    que me retorna as seguintes informações:

    61136712.jpg

    Que me trás o funcionário o mes e seus orçamentos, mostrando quais estão concluídos e quais estão em aberto. Para que eu possa saber quais estão em aberto ou fechado na minha tabela existe o campo NO_Venda(varchar de tamanho seis), onde se estiver NULO indica que não teve venda para o orçamento, consequentemente no SQL fiz o case e recebe o valor “ABERTO”, ao contrário disso, se foi feito venda ele preenche o campo com o numero da venda, e verifico se não ESTA NULO, sendo assim, conforme o case no SQL recebe o valor “FECHADO”.

    AGORA VAMOS AO PROBLEMA, hehehehe

    Eu preciso CONTAR quantos orçamentos do Funcionario X no Mes Y estão em ABERTO e quantos orçamentos estão FECHADOS, para que no relatório ele traga apenas da seguinte forma:

    Funcionario - Vinicius

    Janeiro = Aberto - 4

    Fechado - 5

    Fevereiro = Aberto - 2

    Fechado - 7

    Funcionario - Willian

    Janeiro = Aberto - 9

    Fechado - 23

    Fevereiro = Aberto - 4

    Fechado - 1

    Desde já agradeço.

  6. Bom dia Fulvio, defini que irei mostrar apenas a diferença entre dias, ficou mais fácil hehe, consequentemente apenas usei a função DATEDIFF:

    SELECT

    dbo.tblOrdens_servico.ID As OS,

    dbo.Clientes.NomeDoCliente,

    dbo.tblOrdens_servico.DT_Os As Abertura,

    dbo.tblOrdens_servico.HS_Abertura As Hora_Abe,

    dbo.tblOrdens_servico.DT_Fechamento As Fechamento,

    dbo.tblOrdens_servico.HS_Fechamento As Hora_Fec,

    DATEDIFF(Day, dbo.tblOrdens_servico.DT_Os, dbo.tblOrdens_servico.DT_Fechamento) As Total_Dias,

    dbo.tblOrdens_servico.TP_Fechada,

    dbo.Funcionários.NomeDoFuncionário

    FROM

    dbo.Clientes

    LEFT JOIN

    dbo.tblOrdens_servico On dbo.Clientes.CódigoDoCliente = dbo.tblOrdens_servico.CD_Cliente

    LEFT JOIN

    dbo.Funcionários On dbo.tblOrdens_servico.CD_Tecnico = dbo.Funcionários.CódigoDoFuncionário

    WHERE

    (dbo.Funcionários.NomeDoFuncionário Is Not Null) And (dbo.tblOrdens_servico.TP_Fechada = 1)

    ORDER BY

    dbo.tblOrdens_servico.DT_Os,

    dbo.tblOrdens_servico.HS_Abertura,

    dbo.tblOrdens_servico.DT_Fechamento,

    dbo.tblOrdens_servico.HS_Fechamento

    Obrigado

  7. Boa tarde amigos do Fórum! Preciso novamente de uma mão de vc's...

    Tenho o seguinte SQL:

    SELECT     
            dbo.tblOrdens_servico.ID As OS, 
            dbo.Clientes.NomeDoCliente, 
            dbo.tblOrdens_servico.DT_Os As Abertura, 
          dbo.tblOrdens_servico.HS_Abertura As Hora_Abe, 
          dbo.tblOrdens_servico.DT_Fechamento As Fechamento, 
            dbo.tblOrdens_servico.HS_Fechamento As Hora_Fec 
    FROM
          dbo.Clientes LEFT JOIN
          dbo.tblOrdens_servico On dbo.Clientes.CódigoDoCliente = dbo.tblOrdens_servico.CD_Cliente 
    INNER JOIN
          dbo.Funcionários On dbo.tblOrdens_servico.CD_Tecnico = dbo.Funcionários.CódigoDoFuncionário
    ORDER BY 
            dbo.tblOrdens_servico.DT_Os, 
            dbo.tblOrdens_servico.HS_Abertura, 
            dbo.tblOrdens_servico.DT_Fechamento, 
            dbo.tblOrdens_servico.HS_Fechamento

    Que me retorna os seguintes dados:

    60744997.jpg

    Estes dados são de ordens de serviço que foram efetuadas... Notem que existe a coluna Abertura, Hora_Aber, Fechamento e Hora_Fec, que seria o dia e a hora em que a OS foi aberta e o dia e a hora em que a OS foi fechada.

    Preciso descobrir o intervalo entre a data e a hora de abertura com a data e a hora de fechamento.

    Ex:

    Abertura.............: 23/04/2011

    Hora Abertura.....: 24:00

    Fechamento........: 25/04/2011

    Hora Fechamento: 01:01

    Intervalo............: 1 dia, 1 hora e 1 minuto

    Valeu!

  8. Boa tarde Fulvio, vou detalhar um pouco então. Assim, o que eu preciso é que apareça no rodapé do meu relatório a data e a hora que o mesmo foi impresso.

    Ex: Pagina 1 Impresso em 12/03/2011 14:13hrs.

    Em Delphi e Java que já trabalhei existe a função que faz tal processo. Mas como eu não tenho acesso a programação em si do sistema apenas aos relatórios queria saber se existe tal função em SQL para que capture a data e hora que o documento foi impresso. Pensei de criar uma trigger usando o getdate para capturar a data/hora no momento que foi impresso mas não funcionou...

    Obg pela atenção.

  9. Boa tarde a todos, estou com uma dúvida aqui... Gostaria de saber se é possível via SQL capturar a Data e a Hora que foi impresso um determinado documento?

    Vou explicar... Estou trabalhando com um gerador de Relatório, onde crio/manipulo o SQL do mesmo... Sei que pela linguagem de programação seja ela Delphi, Java, .Net e etc... Existe essa função. Como eu não trabalho com a programação em si do sistema que trabalhamos, gostaria de saber se é possível tal processo via SQL uma vez que posso manipular da forma que preciso.

    Desde já agradeço a atenção.

  10. Boa Tarde Fulvio e demais amigos do Fórum...

    Não teria uma forma de fazer o calculo diretamente pelo SQL? Sem precisar ser criado uma tbl temporaria? Uma vez que eu não trabalho diretamente com a base de dados apenas recupero as informações da mesma.

    abç

  11. Bom dia Amigo Fulvio...

    Verdade não tinha "me ligado" nesse detalhe. Rs

    Refiz o Código e ficou dessa forma:

    SELECT     Month(DataDaPreVenda) As Mes, 
               Mes_Nome = Case Month(DataDaPreVenda) 
                          When '1' Then 'JANEIRO' When '2' Then 'FEVEREIRO' When '3' Then 'MARÇO' When '4' Then 'ABRIL' 
                          When '5' Then 'MAIO' When '6' Then 'JUNHO' When '7' Then 'JULHO' When '8' Then 'AGOSTO' 
                          When '9' Then 'SETEMBRO' When '10' Then 'OUTUBRO' When '11' Then 'NOVEMBRO' When '12' Then 'DEZEMBRO' 
                          End,
                  Round(Sum(TotalAvista), 2) As Total_Vista, 
                Round(Sum(TotalAPrazo), 2) As Total_Pra, 
               Round(Sum(TotalAvista + TotalAPrazo), 2) As Total_geral,
               Round(Sum(TotalAvista), 2) * 100 / Round(Sum(TotalAvista + TotalAPrazo), 2) As Pc_Vista, 
               Round(Sum(TotalAPrazo), 2) * 100 / Round(Sum(TotalAvista + TotalAPrazo), 2) As Pc_Prazo
               
    FROM         dbo.[Pre Venda]
    WHERE     (Not (DataDaPreVenda = ''))
    GROUP BY Month(DataDaPreVenda)
    ORDER BY Month(DataDaPreVenda)

    Obrigado pela ajuda!

  12. Bom Dia Amigos...

    Tenho os seguintes Dados:

    60242140.jpg

    E o Seguinte Código SQL que me retorna as seguintes informações:

    SELECT     dbo.Produtos.CódigoDaCategoria, 
                             MONTH(dbo.[Detalhes da Pre Venda].DataDaPreVenda) AS Mes, 
                             SUM(dbo.[Detalhes da Pre Venda].Quantidade) AS Soma, 
                             dbo.Categorias.NomeDaCategoria
    
    FROM              dbo.Produtos INNER JOIN
                          dbo.[Detalhes da Pre Venda] ON dbo.Produtos.CódigoDeBarra = dbo.[Detalhes da Pre Venda].CódigoDoProduto 
    INNER JOIN
                          dbo.Categorias ON dbo.Produtos.CódigoDaCategoria = dbo.Categorias.CódigoDaCategoria
    GROUP BY dbo.Produtos.CódigoDaCategoria, MONTH(dbo.[Detalhes da Pre Venda].DataDaPreVenda), dbo.Categorias.NomeDaCategoria
    ORDER BY dbo.Categorias.NomeDaCategoria, dbo.Produtos.CódigoDaCategoria, MONTH(dbo.[Detalhes da Pre Venda].DataDaPreVenda)

    60242143.jpg

    Como poderia fazer para realizar a Soma do Valor Acumulado via SQL?

    Desde já agradeço a atenção e um bom final de semana a todos!

  13. Boa Tarde amigos...

    Tenho o seguinte código SQL:

    SELECT     Round(Sum(TotalAvista), 2) As Total_Vista, 
                             Round(Sum(TotalAvista + TotalAPrazo), 2) As Total_geral, 
                             Round(Sum(TotalAPrazo), 2) As Total_Prazo,
                             
                             Month(DataDaPreVenda) As Mes , 
                             ((Total_Vista *100)/ Total_geral) As pcvista
    
    FROM         dbo.[Pre Venda]
    GROUP BY Month(DataDaPreVenda)
    ORDER BY Month(DataDaPreVenda)

    Que me retorna o seguinte erro: 60217265.jpg

    Este SQL sera usado para que me retorne um resumo de vendas por forma de pagamento de acordo com meu banco... Preciso descobrir o % (Percentual) de venda da forma de pagamento A VISTA e A PRAZO para seus respectivos meses.

    Ex:

    JANEIRO: A VISTA - x %

    A PRazo - y %

    Tomando como exemplo a forma de pagamento a vista:

    Total_Vista = 15,00

    Total_Prazo = 30,00

    Total_Geral = 45,00

    Para obter a % de tais, sei que devo multiplicar o valor de Total_Vista por 100 e dividir pelo valor de Total_Geral, que daria no nosso exemplo 33,33% e para prazo realizando o mesmo processo chegariamos a um valor de 66,66% batendo então os 100%.

    Como realizo esse cálculo no SQL? Tentei algumas formas mas não está dando cérto. Desde já agradeço a atenção de todos...

×
×
  • Criar Novo...