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. Salve Galera do Fórum!

    Estou com um pequeno problema que não consegui resolver ainda. Tenho o campo NO_Documento(dbo.tblPlano_contas_movimento.NO_Documento) que é do tipo Varchar(12) e preciso converte-lo para numérico alguém pode me dar uma luz de como fazer?

    Esse é o meu script:

    SELECT
        dbo.tblPlano_contas_movimento.DT_Previsao AS DT_Previsao, 
        dbo.tblPlano_contas_movimento.NO_Documento,
        dbo.[Contas Correntes].NúmeroDaAgência, 
        dbo.[Contas Correntes].NomeDaConta,
        dbo.[Contas Correntes].NúmeroDaConta, 
        dbo.tblPlano_contas_movimento.DS_Complemento AS DS_Complemento, 
        dbo.tblPlano_contas_movimento.VL_Lancamento * -1 AS VL_Lancamento, 
        dbo.tblPlano_contas_movimento.DT_Pagamento AS DT_Pagamento,
        dbo.tblPlano_contas_movimento.CD_Conta AS CONTA, 
        dbo.tblPlano_contas_movimento.DT_Lancamento AS DT_Lancamento, 
        dbo.[Contas Correntes].NO_Banco
    FROM
        dbo.tblPlano_contas_movimento 
    RIGHT OUTER JOIN
        dbo.[Contas Correntes] ON dbo.tblPlano_contas_movimento.CD_Conta = dbo.[Contas Correntes].CD_Conta_Apagar
    WHERE    
        (dbo.tblPlano_contas_movimento.VL_Lancamento < 0) AND (dbo.[Contas Correntes].CÓDIGODACONTA <> 0) 
    ORDER BY
        dbo.tblPlano_contas_movimento.NO_Documento, dbo.[Contas Correntes].NúmeroDaAgência

    Desde já agradeço, boa semana a todos! :lol:

  2. Problema resolvido, adicionei uma nova verificação ao meu script e rodou 100% como o esperado. Segue Script corrigido. Até +

    SELECT        
        Condicional.DataDoCondicional, 
        dbo.Condicional.NumeroDoCondicional, 
        dbo.Condicional.CódigoDoCliente, 
        dbo.Clientes.NomeDoCliente,    
        COALESCE(dbo.Condicional.NO_Venda, '000000') as NO_Venda,
        SUM(dbo.[Detalhes do Condicional].Quantidade) As Itens_Cond,
        isnull((SELECT 
                    Sum(D.TotalDaLinha) As VL 
                FROM 
                    [Detalhes Do Condicional] D 
                INNER JOIN 
                    [Condicional] C On D.NumeroDoCondicional = C.NumeroDoCondicional 
                AND NOT 
                    (C.NO_Venda Is Null) 
                WHERE D.NO_Devolvido = 0 and c.NO_Venda = dbo.Condicional.NO_Venda),0) As Total_Venda,
        Case Dbo.[Condicional].Processado When 'N' Then 'Aberto' ELSE 'Fechado' End AS Situacao,
        Case When (Dbo.[Condicional].Processado = 'N') Then DATEDIFF(Day, dbo.Condicional.DataDoCondicional, GetDate()) ELSE 0 End AS Dias_Abertos,
        Case When (Dbo.[Condicional].Processado = 'N') Then 0 ELSE DATEDIFF(Day, dbo.Condicional.DataDoCondicional, GetDate()) End AS Dias
    FROM
        dbo.Condicional
    INNER JOIN  
        dbo.Clientes On dbo.Condicional.CódigoDoCliente = dbo.Clientes.CódigoDoCliente
    INNER JOIN
        dbo.[Detalhes Do Condicional] On dbo.Condicional.NumeroDoCondicional = dbo.[Detalhes Do Condicional].NumeroDoCondicional
    GROUP BY
        dbo.Condicional.DataDoCondicional, 
        dbo.Condicional.NumeroDoCondicional, 
        dbo.Condicional.CódigoDoCliente, 
        dbo.Condicional.Processado, 
        dbo.Condicional.NO_Venda, 
        dbo.Clientes.CódigoDoCliente,
        dbo.Clientes.NomeDoCliente
    ORDER BY
        dbo.Condicional.NumeroDoCondicional

  3. Salve Galera! Estou precisando da ajuda de vc´s amigos...

    Estou realizando um script para um relatorio que ira exibir informações sobre condicionais em uma loja de confecções. Até ai beleza, tera as seguintes informações:

    1º - Data do condicional (Data que o condicional foi feito);

    2º - Numero do Condicional;

    3º - Cliente;

    4º - Venda (Se o condicional foi transformado em venda, na tabela Condicional o campo NO_Venda é preenchido com o número da venda);

    5º - Itens (Total lançados no condicional);

    6º - Itens Vendidos (Ainda não implementado no script, mas sera o total dos itens que foram transformados em venda a partir do condicional);

    7º - Total (Soma dos valores dos itens que foram para a venda, no script é o sub-select);

    8º - Situação (Se o condicional esta Fechado ou em Aberto, determinado pelo campo Processado na tabela Condicional);

    Dentro do meu sub-select eu preciso realizar a seguinte validação, soma o Total dos itens que não foram devolvidos e foram transformados em venda. Para verificar essa situação uso a regra que esta no meu WHERE. Mas ao rodar meu script gera o seguinte erro:

    Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.

    Alguém poderia me dar uma luz? Segue Script e desde já agradeço. Um bom dia a todos!

    SELECT   
        dbo.Condicional.DataDoCondicional, 
        dbo.Condicional.NumeroDoCondicional,
        dbo.Condicional.CódigoDoCliente, 
        dbo.Condicional.NO_Venda,
        (SELECT 
                  Sum(dbo.[Detalhes do Condicional].TotalDaLinha) As VL_Total 
             FROM 
                  dbo.[Detalhes Do Condicional] 
             LEFT JOIN 
                  dbo.[Condicional] On dbo.[Detalhes Do Condicional].NumeroDoCondicional = dbo.[Condicional].NumeroDoCondicional 
             WHERE 
                  dbo.Condicional.NO_Venda Is Not Null And dbo.[Detalhes do Condicional].NO_Devolvido = '0' 
             GROUP BY 
                  dbo.Condicional.NO_Venda) As Total_Venda,
        dbo.Clientes.CódigoDoCliente As Cod_Cliente, 
        dbo.Clientes.NomeDoCliente,
        Situacao = Case Dbo.[Condicional].Processado When 'N' Then 'Aberto'  When 'S' Then 'Fechado'End,
        Dias_Abertos = Case When (Dbo.[Condicional].Processado = 'N') Then DATEDIFF(Day, dbo.Condicional.DataDoCondicional, GetDate()) End,
        Dias = Case When (Dbo.[Condicional].Processado = 'N') Then 'Dias' End
    FROM
        dbo.Condicional 
    LEFT JOIN
        dbo.Clientes On dbo.Condicional.CódigoDoCliente = dbo.Clientes.CódigoDoCliente
    LEFT JOIN 
        dbo.[Detalhes Do Condicional] On dbo.Condicional.NumeroDoCondicional = dbo.[Detalhes Do Condicional].NumeroDoCondicional
    GROUP BY
        dbo.Condicional.DataDoCondicional,
        dbo.Condicional.NumeroDoCondicional,
        dbo.Condicional.CódigoDoCliente,
        dbo.Condicional.Processado,
        dbo.Condicional.NO_Venda,
        dbo.[Detalhes do Condicional].NO_Devolvido,
        dbo.Clientes.CódigoDoCliente,
        dbo.Clientes.NomeDoCliente,
        dbo.[Detalhes Do Condicional].NumeroDoCondicional
    ORDER BY
        dbo.Condicional.DataDoCondicional ASC

  4. Boa Tarde amigos do Fórum, andei meio sumido mas estamos ai na ativa de novo rs rs.

    Estou com o seguinte problema, desenvolvi um SQL relativamente simples, que me retorna o Número de um determinado pedido, Data de emissão, a condição de pagamento usada, o valor dos itens, o Valor do Desconto e o Valor Liquido.

    Na minha tabela o valor do DESCONTO é retornado no formato de REAIS, preciso então desenvolver um cálculo que me retorne esse valor em %.

    O problema ocorre quando o pedido não tem desconto, no momento de fazer o cálculo ocorre o erro de divisão por zero:

    Divide by zero error encountered.

    como eu poderia fazer essa CÁLCULO validando os pedidos que não tem desconto para evitar o tal erro de divisão por 0?

    Segue Script:

    SELECT     
        [Pre Venda].NumeroDaPreVenda, 
        [Pre Venda].DataDaPreVenda, 
        [Pre Venda].CódigoDoCliente, 
        Clientes.NomeDoCliente, 
        [Pre Venda].CódigoDoFuncionário, 
        Funcionários.NomeDoFuncionário, 
        ROUND(SUM([Detalhes da Pre Venda].TotalDaLinha), 2) As VL_Itens,
        [Pre Venda].DescontoAcrescimo, 
        [b]ROUND(SUM((dbo.[Pre Venda].DescontoAcrescimo * 100) / (dbo.[Pre Venda].TotalDaPreVenda + (dbo.[Pre Venda].DescontoAcrescimo * -1))), 2) AS PC_Desc,[/b]
        [Pre Venda].TotalDaPreVenda, 
        Portador.NomeDoPortador
    FROM
        [Pre Venda] 
    INNER JOIN
        [Detalhes da Pre Venda] ON [Pre Venda].NumeroDaPreVenda = [Detalhes da Pre Venda].NumeroDaPreVenda
    INNER JOIN
        Funcionários ON [Pre Venda].CódigoDoFuncionário = Funcionários.CódigoDoFuncionário 
    INNER JOIN
        Clientes ON [Pre Venda].CódigoDoCliente = Clientes.CódigoDoCliente 
    INNER JOIN
        tblCondicao ON [Pre Venda].CódigoDaCondição = tblCondicao.ID 
    INNER JOIN
        Portador ON [Pre Venda].CódigoDoPortador = Portador.CódigoDoPortador
    GROUP BY
        [Pre Venda].NumeroDaPreVenda,
        [Pre Venda].DataDaPreVenda,
        [Pre Venda].CódigoDoCliente,
        Clientes.NomeDoCliente,
        [Pre Venda].CódigoDoFuncionário,
        Funcionários.NomeDoFuncionário,
        [Pre Venda].DescontoAcrescimo,
        [Pre Venda].TotalDaPreVenda,
        Portador.NomeDoPortador

  5. Boa Tarde amigo, já tentou criar um usuário no próprio Win Server 2003 e depois tentou buscar o servidor pela rede?

    Tente criar o usuário pelo caminho: Painel de Controle / Ferramentas Administrativas / Gerenciamento do Computador / Usuários e Grupos Locais

    Crie um usuário e nos GRUPOS adicione o mesmo no grupo de ADMINISTRADORES e USUÁRIOS DA ÁREA DE TRABALHO REMOTA.

    Depois disso, vai em Iniciar / Executar no micro que não esta acessando e digite \\NOMEDOSERVIDOR

    pedira usuario e senha, informe então os dados do usuário que você criou no Win Server 2003.

    Tente também compartilhar a pasta que o programa esta instalado.

    Espero ter ajudado. Até +

  6. Boa Tarde Tchello, acrescente no group by também a cláusula YEAR(Data)

    Ex:

    SELECT 
    MONTH(Data) As Mes, YEAR(Data) As Ano
    
    FROM 
    Tabela
    
    GROUP BY
    MONTH(Data), YEAR(Data)
    
    ORDER BY 
    MONTH(Data), YEAR(Data)

    OBS: Dessa forma ira retornar duas colunas, uma com os valores do MES e outra com os valores do ANO.

    Espero ter ajudado. Até +

  7. Bom dia Oitathi, não cheguei a testar, mas acredito que seja apenas o formato da Data, pois no sql server o formato é MM/DD/AAAA. Tente fazer da seguinte forma:

    select logUsu.cpf, cd_senha, usuSer.plano, ususer.usuario, logUsu.CD_IDUsuario, logUsu.DT_Nascimento 
    from portal..Por_LoginUsuario as logUsu
    inner join usuario..usu_usuarioservico as usuSer
    on logUsu.CD_IDUsuario = usuSer.ID 
    and usuSer.dtexclusao is null and usuSer.posicao>0 and  logUsu.DT_Nascimento between '01/01/2010' and '12/31/2011'

    Espero ter ajudado. ^_^

  8. Boa Tarde amigos do Fórum, resolvi o problema do erro que estava me retornando, era uma questão de compatibilidade. Quando há diferença entre as collations, para que o conflito não se manifeste é necessário igualar as mesmas. Se as collations forem iguais, então não há porque o conflito ocorrer. Resumindo, precisava ser passado a seguinte instrução dentro do meu script:

    INNER JOIN 
        dbo.Produtos ON BANCO_2.dbo.tblEstoque.ID_Produto
    COLLATE 
        Latin1_General_CI_AS = dbo.Produtos.CódigoDeBarra

    Valeu :lol:

  9. Bom dia Marcos, bom segue explicação:

    Modelo conceitual
    A modelagem conceitual basea-se no mais alto nível e deve ser usada para envolver o cliente. Os exemplos de modelagem de dados visto pelo modelo conceitual são mais fáceis de compreender, já que não há limitações ou aplicação de tecnologia específica. O diagrama de dados que deve ser construido aqui, chama-se Diagrama de Entidade e Relacionamento, onde deverá ser identificado todas as entidades e os relacionamentos entre elas. Este diagrama é a chave para a compreensão do modelo conceitual de dados.

    Modelo lógico

    O modelo lógico já leva em conta algumas limitações e implementa recursos como adequação de padrão e nomenclatura. Define as chaves primárias e estrangeiras. deve ser criado levando em conta os exemplos de modelagem de dados criados no modelo conceitual.

    Modelo físico
    No modelo físico fazemos a modelagem física do modelo de banco de dados. Leva-se em conta as limitações impostas pelo SGBD escolhido e deve ser criado sempre com base nos exemplos de modelagem de dados produzidos no item anterior, modelo lógico.

    Modelo de Base de Dados

    1ª geração

    Hierárquico

    Em rede

    2ª geração

    Modelo relacional

    3ª geração

    Modelos orientados a objectos

    Extensões ao modelo relacional

    Modelo hierárquico
    Um exemplo: Um departamento tem muitos empregados e cada um tem um supervisor e por sua vez depende de outro empregado. Cada departamento tem muitos projectos no qual trabalham muitos empregados.

    Estruturas básicas:

    Registos (colecção de valores de campos que fornece informação sobre uma entidade de um relacionamento)

    Relacionamentos (pai-filho: 1-M)

    O acesso a qualquer um dos registos deve ser feito a partir da raíz e correndo para cada um dos nós da árvore da esquerda para a direita e de cima para baixo.

    Restrições e dificuldades:

    Apenas o registo pai não se relaciona com outro registo pai; Se 1 registo filho tem mais do que 1 registo pai, então deve ser duplicado para cada um dos pais;

    Dificuldades de representação de relacionamentos M:M; Redundância de dados; Falta de dependência lógica; Utilização e programação muito exigente; Dificuldade de portabilidade.

    Um dos exemplo de um SGBD concebido segundo o modelo hierárquico ,

    na década de 60, é o MIS (ManagementInformationsystem) da IBM.

    (Fonte: Desenho e Implementação de Base de Dados com MS Access.

    Vidal J., Azevedo, A., Abreu A., Centro Atlântico)

    Modelo em Rede

    Tem por base o modelo hierárquico Um filho pode ter mais do que um pai Acesso aos dados de forma semelhante ao modelo hierárquico Facilita a representação de relacionamentos de M:M.

    O acesso aos dados é mais flexível do que no modelo hierárquico. Sistema ainda complexo e exige um grande conhecimento dos programadores e não existe verdadeira dependência dados-aplicações.

    Modelo relacional
    Apresentado por Edgar Codd, em 1970. A estrutura básica é a tabela. Uma BD relacional é formada por um conjunto de tabelas que se relacionam através de atributos comuns.

    Exemplo de Base de dados relacionais:

    SQL/OS da IBM, SGBD Oracle, DB2 e Informix (IBM), Oracle e Rdb da Oracle, SQL server e Access da microsoft.

    Modelo Orientado a Objectos

    Tiveram origem nas linguagens de programação orientadas a objectos. Extensão ao modelo relacional. Um objecto é uma representação conceptual de uma entidade do mundo real – Ex: factura

    Objectos contem atributos que o descrevem – Ex: numero, data, valor total)

    E o seu comportamento, ou seja as acções que lhe estão associadas-Ex: imprimir, criar.

    Um objecto contém quer a estrutura de dados quer as acções (métodos).

    Um atributo pode ser uma referencia a outro objecto.

    Uma classe é uma colecção de objectos que partilham a estrutura e o comportamento, permitindo uma definição única.

    As classes são organizadas hierarquicamente numa filosofia de herança de atributos e métodos.

    Espero ter ajudado :D

  10. Salve galera!!

    Estou tentando executar um script de consulta, ambos os bancos(diferentes) estão no mesmo servidor, mas me retorna o seguinte erro:

    Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Latin1_General_CI_AS" in the equal to operation.

    o Script é o seguinte:

    SELECT          
        BANCO_1.dbo.Produtos.CódigoDeBarra, BANCO_2.dbo.tblEstoque.NO_Estoque
    FROM 
        Produtos
    INNER JOIN
        BANCO_2.dbo.tblEstoque ON BANCO_1.Produtos.CódigoDeBarra = BANCO_2.dbo.tblEstoque.ID_Produto
    GROUP BY
        BANCO_2.dbo.Produtos.CódigoDeBarra

    O que será que estou fazendo de errado? Desde já agradeço e uma boa semana a todos.

×
×
  • Criar Novo...