Jump to content

otaviinn

Members
  • Content count

    5
  • Joined

  • Last visited

Community Reputation

0 Comum

About otaviinn

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Obrigado por sua resposta! É identificado pela coluna FORMADECONTATO, se coluna FORMADECONTATO1 estiver o registro como "CELULAR" isso significa que o número da coluna CONTATO1 é um celular. O problema que estou encontrando é no select, pois não quero trazer os três telefones (CONTATO1,CONTATO2 e CONTATO3) quero trazer somente a coluna correspondente a FORMADECONTATO "celular". Sou novato em banco de dados, pode me explicar um exemplo de case no where? Muito obrigado!
  2. Obrigado por sua resposta! É identificado pela coluna FORMADECONTATO, se coluna FORMADECONTATO1 estiver o registro como "CELULAR" isso significa que o número da coluna CONTATO1 é um celular. O problema que estou encontrando é no select, pois não quero trazer os três telefones (CONTATO1,CONTATO2 e CONTATO3) quero trazer somente a coluna correspondente a FORMADECONTATO "celular". Caso não tenha sido claro peço desculpas, novamente, obrigado!
  3. Olá a todos, Estou desenvolvendo um script simples, porém me deparei com uma situação que sei que pode ser resolvida através do If, mas acredito que possa existir uma maneira mais simples (e talvez mais correta) de se fazer, é o seguinte: Com um select simples preciso trazer as colunas Nome, RG,ORGAOEXP, DATAEXP, CPF, DATANASC e o telefone CELULAR do cliente, ai que está o problema, pois a estrutura da tabela encontra-se assim: FORMACONTATO1 FORMACONTATO2 FORMACONTATO3 CONTATO1 CONTATO2 CONTATO3 ----------- ------------- -------------- ---------- ----------- ------------ Residencial Celular Comercial 1122443355 11945678910 1122433456 Então, eu devo trazer o CONTATO 2 que é o contato correspondente a FORMA DE CONTATO de celular, no sistema estes campos são editaveis, então isso varia de cadastro para cadastro, tem registro que o contato 1 é o celular, em outros o 3 e assim por diante. Existe alguma forma de trazer somente o contato correspondente a forma de contato CELULAR sem ser pelo If? Agradeço a atenção e colaboração de todos.
  4. Boa noite Christian, muito obrigado por sua resposta! Na verdade não, o resultado continuo o mesmo (Valores diferentes do esperado) Após conferir novamente junção por junção descobri que o problema estava na tabela TAB_DESCRICAO_DADOS que por padrão sempre terá 10 registros, nulos ou não, então o valor vinha "multiplicado" por 10. A solução foi apontar exatamente qual registro eu previsava, assim a junção dela não vinha com 10 registros e ele me apresentava o calor corretamente. Mais uma vez muito obrigado!
  5. Boa noite pessoal, tudo bem? É o seguinte, estou iniciando na área de SQL (inclusive já peço desculpas pelos possíveis erros) e trabalho montando relatórios para um sistema via SQL. Estou montando um relatório que envolve algumas tabelas e preciso somar o valor de uma coluna, ocorre que quando uso a função SUM no select com as junções das tabelas ele não me retorna a soma dos valores, se somo sem as junções das tabelas ele me retorna perfeitamente, segue abaixo o script: Script que trás a soma corretamente: SELECT SUM(VALOR) FROM sophia.MOVFIN WHERE VENDA = '14617' AND PARCELA = '2' Resultado --------------------------------------- 329.0000 (1 linha(s) afetadas) Script onde a soma não funciona corretamente: SELECT DISTINCT T.CODIGO As CODTURMA, F.NOME As NOME, F.CPF As CPF, T.NOME As TURMA, S.DESCRICAO As SEGMENTO, F.CODEXT As RA, F.OBSERVACOES As OBSERVAÇÃO, case M.STATUS WHEN 0 then 'Ativa' WHEN 1 then 'Trancada' WHEN 2 then 'Cancelada' WHEN 3 then 'Transferida' WHEN 4 then 'Evadida' WHEN 5 then 'Concluída' end as STATUS, TAB.DESCRICAO1 As INDICADOPOR, SUM(MEN.VALOR) As MENSALIDADE FROM SophiA.TURMAS T LEFT join sophia.MATRICULA M on M.TURMA_REGULAR = T.CODIGO LEFT join sophia.FISICA F on F.CODIGO = M.FISICA LEFT join sophia.DADOSPF DF on DF.FISICA = F.CODIGO LEFT join sophia.SEGMENTOS S on S.CODIGO = DF.SEGMENTO LEFT join sophia.TAB_DESCRICAO_DADOS TAB on TAB.FISICA = F.CODIGO LEFT join sophia.MOVFIN MOV ON MOV.VENDA = M.VENDA and MOV.PARCELA = '2' LEFT join sophia.MOVFIN MEN ON MEN.TITULO = MOV.TITULO WHERE T.CODIGO = '2214' GROUP BY T.CODIGO, F.NOME, F.CPF, T.NOME, S.DESCRICAO, F.CODEXT, F.OBSERVACOES, M.STATUS, TAB.DESCRICAO1, MEN.VALOR Desta forma, basicamente trás como resultado os três registros (mesma quantidade de registro que existe na tabela para estas condições) com números bem diferentes do registro real, não consegui associar os números a uma referencia para entender o que ocorre. Talvez algo que seja relevante mencionar é que pode-se conter números negativos nos registros, inclusive nessas colunas deste duas querys existem números negativos. Agradeço muito a atenção de todos! :)
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.