Bruno Cavalcanti Postado 17 de Agosto de 2011 Tópicos Que Criei: 40 Tópicos/Dia: 0.01 Meu Conteúdo: 298 Conteúdo/Dia: 0.06 Reputação: 6 Pontos/Conquistas: 1.896 Conteúdo Resolvido: 0 Dias Ganho: 5 Status: Offline Denunciar Compartilhar Postado 17 de Agosto de 2011 Prezados, Tenho duas dúvidas: 1. Criei um relatório do zero, que trará N campos da tabela pfunc. Preciso que o arquivo de saída seja em TXT. (Formato arquivo bancário) Os campos foram posicionados e saem alinhados no txt, mas não saem delimitados por nada. Como faço para separar os campos com ponto e vírgula? (Tentei inserir os ; como texto entre os campos, mas eles saem todos juntos no final.) 2. Nas planilhas do RM, criei a seguinte sentença na célula A1: SELECT F.CHAPA, F.NOME, F.DATAADMISSAO,F.SALARIO, S.CODDEPTO, F.CODRECEBIMENTO FROM PFUNC F JOIN PSECAO S ON F.CODSECAO = S.CODIGO AND F.CODCOLIGADA = S.CODCOLIGADA JOIN PPESSOA P ON P.CODIGO = F.CODPESSOA WHERE CODSITUACAO <> 'D' AND CODSITUACAO <> 'I' ORDER BY CODRECEBIMENTO DESC Bem simples. Só preciso trazer o campo gfilial.nomefantasia e psecao.descricao. Tentei de vários modos e não deu certo. Se alguém puder me ajudar. Labore 11.11.12 Obrigado! Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Frederico Postado 18 de Agosto de 2011 Tópicos Que Criei: 11 Tópicos/Dia: 0.00 Meu Conteúdo: 1.140 Conteúdo/Dia: 0.21 Reputação: 60 Pontos/Conquistas: 6.161 Conteúdo Resolvido: 0 Dias Ganho: 33 Status: Offline Idade: 42 Dispositivo: Windows Denunciar Compartilhar Postado 18 de Agosto de 2011 Prezados, Tenho duas dúvidas: 1. Criei um relatório do zero, que trará N campos da tabela pfunc. Preciso que o arquivo de saída seja em TXT. (Formato arquivo bancário) Os campos foram posicionados e saem alinhados no txt, mas não saem delimitados por nada. Como faço para separar os campos com ponto e vírgula? (Tentei inserir os ; como texto entre os campos, mas eles saem todos juntos no final.) 2. Nas planilhas do RM, criei a seguinte sentença na célula A1: SELECT F.CHAPA, F.NOME, F.DATAADMISSAO,F.SALARIO, S.CODDEPTO, F.CODRECEBIMENTO FROM PFUNC F JOIN PSECAO S ON F.CODSECAO = S.CODIGO AND F.CODCOLIGADA = S.CODCOLIGADA JOIN PPESSOA P ON P.CODIGO = F.CODPESSOA WHERE CODSITUACAO <> 'D' AND CODSITUACAO <> 'I' ORDER BY CODRECEBIMENTO DESC Bem simples. Só preciso trazer o campo gfilial.nomefantasia e psecao.descricao. Tentei de vários modos e não deu certo. Se alguém puder me ajudar. Labore 11.11.12 Obrigado! Bruno, Para a primeira questão, mesmo configurando o tipo de saída texto você precisa colocar um campo texto de ( entre os campos do seu relatório. Exemplo CODSECAO;NOME..... e assim por diante. Para responder a segunda questão, primeiro preciso saber se primeiro numero do código da sua seção ou do seu departamento é referente ao código da sua filial ? []'s Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Bruno Cavalcanti Postado 18 de Agosto de 2011 Tópicos Que Criei: 40 Tópicos/Dia: 0.01 Meu Conteúdo: 298 Conteúdo/Dia: 0.06 Reputação: 6 Pontos/Conquistas: 1.896 Conteúdo Resolvido: 0 Dias Ganho: 5 Status: Offline Autor Denunciar Compartilhar Postado 18 de Agosto de 2011 Bruno, Para a primeira questão, mesmo configurando o tipo de saída texto você precisa colocar um campo texto de ( entre os campos do seu relatório. Exemplo CODSECAO;NOME..... e assim por diante. Para responder a segunda questão, primeiro preciso saber se primeiro numero do código da sua seção ou do seu departamento é referente ao código da sua filial ? []'s Bom dia Frederico. 1. Sobre a primeira questão, não entendi. Eu fiz exatamente isso. Coloquei o ; entre os campos, mas no txt sai assim: Ex. Chapanomefilialseçãocentrodecustoenderecoetc ;;;;;;;;;; Existe uma ordem certa para fazer isso? 2. Sim. os primeiros números da seção equivalem a filial. Ex. Filial 1 possui as seções: 1.01.01 1.01.02 1.14.25 etc. Obrigado! Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Frederico Postado 18 de Agosto de 2011 Tópicos Que Criei: 11 Tópicos/Dia: 0.00 Meu Conteúdo: 1.140 Conteúdo/Dia: 0.21 Reputação: 60 Pontos/Conquistas: 6.161 Conteúdo Resolvido: 0 Dias Ganho: 33 Status: Offline Idade: 42 Dispositivo: Windows Denunciar Compartilhar Postado 18 de Agosto de 2011 Bom dia Frederico. 1. Sobre a primeira questão, não entendi. Eu fiz exatamente isso. Coloquei o ; entre os campos, mas no txt sai assim: Ex. Chapanomefilialseçãocentrodecustoenderecoetc ;;;;;;;;;; Existe uma ordem certa para fazer isso? 2. Sim. os primeiros números da seção equivalem a filial. Ex. Filial 1 possui as seções: 1.01.01 1.01.02 1.14.25 etc. Obrigado! Bruno, Acredito que você só tenha posicionado as virgulas entres os campos, entre nas propriedade da LD e depois vá na aba Campos, ali você vai fazer a ordenação dos campos, ai sim que você intercala um campo e um ;, um campo e um ;. Então se você utilizada o primeiro digito para para identificar a filial você pode usar dessa forma: SELECT F.CHAPA, F.NOME, F.DATAADMISSAO,F.SALARIO, S.CODDEPTO, F.CODRECEBIMENTO, G.NOMEFANTASIA FROM PFUNC F JOIN PSECAO S ON F.CODSECAO = S.CODIGO AND F.CODCOLIGADA = S.CODCOLIGADA JOIN PPESSOA P ON P.CODIGO = F.CODPESSOA JOIN GFILIAL G ON S.CODCOLIGADA = G.CODCOLIGADA AND SUBSTRING(S.CODIGO,1,1) = CONVERT(VARCHAR(MAX),G.CODFILIAL) WHERE CODSITUACAO <> 'D' AND CODSITUACAO <> 'I' ORDER BY CODRECEBIMENTO DESC []'s Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Bruno Cavalcanti Postado 18 de Agosto de 2011 Tópicos Que Criei: 40 Tópicos/Dia: 0.01 Meu Conteúdo: 298 Conteúdo/Dia: 0.06 Reputação: 6 Pontos/Conquistas: 1.896 Conteúdo Resolvido: 0 Dias Ganho: 5 Status: Offline Autor Denunciar Compartilhar Postado 18 de Agosto de 2011 Bruno, Acredito que você só tenha posicionado as virgulas entres os campos, entre nas propriedade da LD e depois vá na aba Campos, ali você vai fazer a ordenação dos campos, ai sim que você intercala um campo e um ;, um campo e um ;. Então se você utilizada o primeiro digito para para identificar a filial você pode usar dessa forma: SELECT F.CHAPA, F.NOME, F.DATAADMISSAO,F.SALARIO, S.CODDEPTO, F.CODRECEBIMENTO, G.NOMEFANTASIA FROM PFUNC F JOIN PSECAO S ON F.CODSECAO = S.CODIGO AND F.CODCOLIGADA = S.CODCOLIGADA JOIN PPESSOA P ON P.CODIGO = F.CODPESSOA JOIN GFILIAL G ON S.CODCOLIGADA = G.CODCOLIGADA AND SUBSTRING(S.CODIGO,1,1) = CONVERT(VARCHAR(MAX),G.CODFILIAL) WHERE CODSITUACAO <> 'D' AND CODSITUACAO <> 'I' ORDER BY CODRECEBIMENTO DESC []'s Frederico, A primeira dúvida foi sanada. Era precisamente o que eu estava procurando! Muito obrigado. Já a query não funcionou. "General Sql error near MAX" Se não for abuso, poderia me explicar a lógica utilizada nesta parte do código: SUBSTRING(S.CODIGO,1,1) = CONVERT(VARCHAR(MAX),G.CODFILIAL) Pra que serve substring? E Porque preciso converter? Mais uma vez obrigado! Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Frederico Postado 18 de Agosto de 2011 Tópicos Que Criei: 11 Tópicos/Dia: 0.00 Meu Conteúdo: 1.140 Conteúdo/Dia: 0.21 Reputação: 60 Pontos/Conquistas: 6.161 Conteúdo Resolvido: 0 Dias Ganho: 33 Status: Offline Idade: 42 Dispositivo: Windows Denunciar Compartilhar Postado 18 de Agosto de 2011 Frederico, A primeira dúvida foi sanada. Era precisamente o que eu estava procurando! Muito obrigado. Já a query não funcionou. "General Sql error near MAX" Se não for abuso, poderia me explicar a lógica utilizada nesta parte do código: SUBSTRING(S.CODIGO,1,1) = CONVERT(VARCHAR(MAX),G.CODFILIAL) Pra que serve substring? E Porque preciso converter? Mais uma vez obrigado! Bruno, Acho que você deva estar usando o SQL2000 então troque o varchar(max), por varchar(1). O comando substring server para ele partes de um campo, onde o primeiro numero é de que posição que vai começar a ler e o segundo numero é quantos caracteres ele vai ler. Acredito que com essa modificação deva funcionar. []'s Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Jair - Fórmula Postado 18 de Agosto de 2011 Tópicos Que Criei: 899 Tópicos/Dia: 0.14 Meu Conteúdo: 8.842 Conteúdo/Dia: 1.34 Reputação: 310 Pontos/Conquistas: 106.579 Conteúdo Resolvido: 0 Dias Ganho: 195 Status: Offline Idade: 52 Dispositivo: Windows Denunciar Compartilhar Postado 18 de Agosto de 2011 So um detalhe, se vc tiver mais que nove filiais dará problema Vc esta tratando apenas um caractere, a partir da filial 10 teria problemas e retornaria errado, certo ? Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Bruno Cavalcanti Postado 18 de Agosto de 2011 Tópicos Que Criei: 40 Tópicos/Dia: 0.01 Meu Conteúdo: 298 Conteúdo/Dia: 0.06 Reputação: 6 Pontos/Conquistas: 1.896 Conteúdo Resolvido: 0 Dias Ganho: 5 Status: Offline Autor Denunciar Compartilhar Postado 18 de Agosto de 2011 (editado) Bruno, Acho que você deva estar usando o SQL2000 então troque o varchar(max), por varchar(1). O comando substring server para ele partes de um campo, onde o primeiro numero é de que posição que vai começar a ler e o segundo numero é quantos caracteres ele vai ler. Acredito que com essa modificação deva funcionar. []'s Na mosca Frederico! Eu uso o SQl 2005, mas de fato executou normalmente fazendo a substituição que você sugeriu. Porém o resultado da consulta está trazendo apenas os funcionários da filial 1, e eu possuo 19 filiais. Seria o Substring filtrando apenas as que começam com 1? Aqui possuo: 1.00.01 e etc para a filial 1 2.00.01 e etc para a filial 2 e etc. Editado 18 de Agosto de 2011 por Bruno Cavalcanti Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Frederico Postado 18 de Agosto de 2011 Tópicos Que Criei: 11 Tópicos/Dia: 0.00 Meu Conteúdo: 1.140 Conteúdo/Dia: 0.21 Reputação: 60 Pontos/Conquistas: 6.161 Conteúdo Resolvido: 0 Dias Ganho: 33 Status: Offline Idade: 42 Dispositivo: Windows Denunciar Compartilhar Postado 18 de Agosto de 2011 Na mosca Frederico! Eu uso o SQl 2005, mas de fato executou normalmente fazendo a substituição que você sugeriu. Porém o resultado da consulta está trazendo apenas os funcionários da filial 1, e eu possuo 19 filiais. Seria o Substring filtrando apenas as que começam com 1? Aqui possuo: 1.00.01 e etc para a filial 1 2.00.01 e etc para a filial 2 e etc. Mude o varchar(1) para varchar(3) []'s Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Bruno Cavalcanti Postado 18 de Agosto de 2011 Tópicos Que Criei: 40 Tópicos/Dia: 0.01 Meu Conteúdo: 298 Conteúdo/Dia: 0.06 Reputação: 6 Pontos/Conquistas: 1.896 Conteúdo Resolvido: 0 Dias Ganho: 5 Status: Offline Autor Denunciar Compartilhar Postado 18 de Agosto de 2011 (editado) Mude o varchar(1) para varchar(3) []'s Estranho. Continua aparecendo apenas 1/3 dos funcionários, e no campo nomefantasia de todos eles aparece o nome da filial 1, mesmo de quem não está lotado nela. Detalhe... Incluí o campo psecao.descricao também (que está saindo corretamente). Será que ele está influenciando na filial? Query atualizada abaixo: SELECT F.CHAPA, F.NOME, F.DATAADMISSAO,F.SALARIO, S.CODDEPTO, F.CODRECEBIMENTO, S.DESCRICAO, G.NOMEFANTASIA FROM PFUNC F JOIN PSECAO S ON F.CODSECAO = S.CODIGO AND F.CODCOLIGADA = S.CODCOLIGADA JOIN PPESSOA P ON P.CODIGO = F.CODPESSOA JOIN GFILIAL G ON S.CODCOLIGADA = G.CODCOLIGADA AND SUBSTRING(S.CODIGO,1,1) = CONVERT(VARCHAR(3),G.CODFILIAL) WHERE CODSITUACAO <> 'D' AND CODSITUACAO <> 'I' ORDER BY CODRECEBIMENTO DESC Editado 18 de Agosto de 2011 por Bruno Cavalcanti Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Frederico Postado 18 de Agosto de 2011 Tópicos Que Criei: 11 Tópicos/Dia: 0.00 Meu Conteúdo: 1.140 Conteúdo/Dia: 0.21 Reputação: 60 Pontos/Conquistas: 6.161 Conteúdo Resolvido: 0 Dias Ganho: 33 Status: Offline Idade: 42 Dispositivo: Windows Denunciar Compartilhar Postado 18 de Agosto de 2011 Estranho. Continua aparecendo apenas 1/3 dos funcionários, e no campo nomefantasia de todos eles aparece o nome da filial 1, mesmo de quem não está lotado nela. Detalhe... Incluí o campo psecao.descricao também (que está saindo corretamente). Será que ele está influenciando na filial? Query atualizada abaixo: SELECT F.CHAPA, F.NOME, F.DATAADMISSAO,F.SALARIO, S.CODDEPTO, F.CODRECEBIMENTO, S.DESCRICAO, G.NOMEFANTASIA FROM PFUNC F JOIN PSECAO S ON F.CODSECAO = S.CODIGO AND F.CODCOLIGADA = S.CODCOLIGADA JOIN PPESSOA P ON P.CODIGO = F.CODPESSOA JOIN GFILIAL G ON S.CODCOLIGADA = G.CODCOLIGADA AND SUBSTRING(S.CODIGO,1,1) = CONVERT(VARCHAR(3),G.CODFILIAL) WHERE CODSITUACAO <> 'D' AND CODSITUACAO <> 'I' ORDER BY CODRECEBIMENTO DESC Bruno, Desculpe o equivoco No Substring troque 1,1 por 1,2 []'s Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Bruno Cavalcanti Postado 18 de Agosto de 2011 Tópicos Que Criei: 40 Tópicos/Dia: 0.01 Meu Conteúdo: 298 Conteúdo/Dia: 0.06 Reputação: 6 Pontos/Conquistas: 1.896 Conteúdo Resolvido: 0 Dias Ganho: 5 Status: Offline Autor Denunciar Compartilhar Postado 18 de Agosto de 2011 Bruno, Desculpe o equivoco No Substring troque 1,1 por 1,2 []'s Rs. Agora trouxe todas as filiais da 2 a 19 certinho, exceto a Sede (filial 1) Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Frederico Postado 18 de Agosto de 2011 Tópicos Que Criei: 11 Tópicos/Dia: 0.00 Meu Conteúdo: 1.140 Conteúdo/Dia: 0.21 Reputação: 60 Pontos/Conquistas: 6.161 Conteúdo Resolvido: 0 Dias Ganho: 33 Status: Offline Idade: 42 Dispositivo: Windows Denunciar Compartilhar Postado 18 de Agosto de 2011 Rs. Agora trouxe todas as filiais da 2 a 19 certinho, exceto a Sede (filial 1) Bruno, Tente dessa forma: SELECT F.CHAPA, F.NOME, F.DATAADMISSAO,F.SALARIO, S.CODDEPTO, F.CODRECEBIMENTO, G.NOMEFANTASIA FROM PFUNC F JOIN PSECAO S ON F.CODSECAO = S.CODIGO AND F.CODCOLIGADA = S.CODCOLIGADA JOIN PPESSOA P ON P.CODIGO = F.CODPESSOA JOIN GFILIAL G ON S.CODCOLIGADA = G.CODCOLIGADA AND SUBSTRING(S.CODIGO,1,(CHARINDEX('.',S.CODIGO)-1)) = CONVERT(VARCHAR(3),G.CODFILIAL) WHERE CODSITUACAO <> 'D' AND CODSITUACAO <> 'I' ORDER BY CODRECEBIMENTO DESC Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Bruno Cavalcanti Postado 18 de Agosto de 2011 Tópicos Que Criei: 40 Tópicos/Dia: 0.01 Meu Conteúdo: 298 Conteúdo/Dia: 0.06 Reputação: 6 Pontos/Conquistas: 1.896 Conteúdo Resolvido: 0 Dias Ganho: 5 Status: Offline Autor Denunciar Compartilhar Postado 18 de Agosto de 2011 (editado) Bruno, Tente dessa forma: SELECT F.CHAPA, F.NOME, F.DATAADMISSAO,F.SALARIO, S.CODDEPTO, F.CODRECEBIMENTO, S.DESCRICAO, G.NOMEFANTASIA FROM PFUNC F JOIN PSECAO S ON F.CODSECAO = S.CODIGO AND F.CODCOLIGADA = S.CODCOLIGADA JOIN PPESSOA P ON P.CODIGO = F.CODPESSOA JOIN GFILIAL G ON S.CODCOLIGADA = G.CODCOLIGADA AND SUBSTRING(S.CODIGO,1,(CHARINDEX('.',S.CODIGO)-1)) = CONVERT(VARCHAR(3),G.CODFILIAL) WHERE CODSITUACAO <> 'D' AND CODSITUACAO <> 'I' ORDER BY CODRECEBIMENTO DESC Executou, mas continua trazendo das filiais 2 a 19 apenas. =/ Editado 18 de Agosto de 2011 por Bruno Cavalcanti Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Frederico Postado 18 de Agosto de 2011 Tópicos Que Criei: 11 Tópicos/Dia: 0.00 Meu Conteúdo: 1.140 Conteúdo/Dia: 0.21 Reputação: 60 Pontos/Conquistas: 6.161 Conteúdo Resolvido: 0 Dias Ganho: 33 Status: Offline Idade: 42 Dispositivo: Windows Denunciar Compartilhar Postado 18 de Agosto de 2011 Executou, mas continua trazendo das filiais 2 a 19 apenas. =/ Rodrigo, poderia dar um select na psecao e colocar o resultado aqui só dos código por favor. []'s Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Bruno Cavalcanti Postado 18 de Agosto de 2011 Tópicos Que Criei: 40 Tópicos/Dia: 0.01 Meu Conteúdo: 298 Conteúdo/Dia: 0.06 Reputação: 6 Pontos/Conquistas: 1.896 Conteúdo Resolvido: 0 Dias Ganho: 5 Status: Offline Autor Denunciar Compartilhar Postado 18 de Agosto de 2011 (editado) Rodrigo, poderia dar um select na psecao e colocar o resultado aqui só dos código por favor. []'s Rodrigo? rs Está aí amigo: Depois que analisar me avisa pra eu editar o post e deixar só uma taxa de amostragem. 01 01.01.001 01.01.002 01.01.003 01.02.001 01.02.002 01.02.003 01.02.004 01.02.005 01.02.006 01.03.001 01.03.002 01.03.003 01.03.004 01.03.005 01.03.006 01.03.007 01.03.008 01.03.009 01.03.010 01.03.011 01.03.012 01.03.013 Obrigado! Editado 19 de Agosto de 2011 por Frederico Solicitado pelo usuário Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Frederico Postado 18 de Agosto de 2011 Tópicos Que Criei: 11 Tópicos/Dia: 0.00 Meu Conteúdo: 1.140 Conteúdo/Dia: 0.21 Reputação: 60 Pontos/Conquistas: 6.161 Conteúdo Resolvido: 0 Dias Ganho: 33 Status: Offline Idade: 42 Dispositivo: Windows Denunciar Compartilhar Postado 18 de Agosto de 2011 (editado) Rodrigo? rs Está aí amigo: Depois que analisar me avisa pra eu editar o post e deixar só uma taxa de amostragem. 01 01.01.001 01.01.002 01.01.003 01.02.001 .... 19.25.901 19.25.951 19.25.952 Obrigado! Bruno, já copiei aqui para analisar, desculpe pelo Rodrigo é que estava no telefone com um amigo que chama Rodrigo...rs []'s Editado 18 de Agosto de 2011 por Jair - Fórmula Tava gigante o post... diminui !! Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Bruno Cavalcanti Postado 19 de Agosto de 2011 Tópicos Que Criei: 40 Tópicos/Dia: 0.01 Meu Conteúdo: 298 Conteúdo/Dia: 0.06 Reputação: 6 Pontos/Conquistas: 1.896 Conteúdo Resolvido: 0 Dias Ganho: 5 Status: Offline Autor Denunciar Compartilhar Postado 19 de Agosto de 2011 Bruno, já copiei aqui para analisar, desculpe pelo Rodrigo é que estava no telefone com um amigo que chama Rodrigo...rs []'s Tudo bem Frederico, sem problemas. Fico no aguardo. Jair, pode editar o original também se quiser. O botão editar sumiu pra mim aqui. =) Obrigado. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Frederico Postado 19 de Agosto de 2011 Tópicos Que Criei: 11 Tópicos/Dia: 0.00 Meu Conteúdo: 1.140 Conteúdo/Dia: 0.21 Reputação: 60 Pontos/Conquistas: 6.161 Conteúdo Resolvido: 0 Dias Ganho: 33 Status: Offline Idade: 42 Dispositivo: Windows Denunciar Compartilhar Postado 19 de Agosto de 2011 Tudo bem Frederico, sem problemas. Fico no aguardo. Jair, pode editar o original também se quiser. O botão editar sumiu pra mim aqui. =) Obrigado. Bom dia Rodrigo, Poderia postar o resultado dessa consulta: SELECT F.CHAPA, F.NOME, F.DATAADMISSAO,F.SALARIO, S.CODDEPTO, F.CODRECEBIMENTO, S.DESCRICAO, SUBSTRING(S.CODIGO,1,(CHARINDEX('.',S.CODIGO)-1)) FROM PFUNC F JOIN PSECAO S ON F.CODSECAO = S.CODIGO AND F.CODCOLIGADA = S.CODCOLIGADA JOIN PPESSOA P ON P.CODIGO = F.CODPESSOA WHERE CHAPA = 'CHAPA DE UM FUNCIONARIO DA FILIAL UM' assim poderemos ver o que o substring está retornando para os funcionários que estão na seção que começa com 1.alguma coisa. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Bruno Cavalcanti Postado 19 de Agosto de 2011 Tópicos Que Criei: 40 Tópicos/Dia: 0.01 Meu Conteúdo: 298 Conteúdo/Dia: 0.06 Reputação: 6 Pontos/Conquistas: 1.896 Conteúdo Resolvido: 0 Dias Ganho: 5 Status: Offline Autor Denunciar Compartilhar Postado 19 de Agosto de 2011 Bom dia Rodrigo, Poderia postar o resultado dessa consulta: SELECT F.CHAPA, F.NOME, F.DATAADMISSAO,F.SALARIO, S.CODDEPTO, F.CODRECEBIMENTO, S.DESCRICAO, SUBSTRING(S.CODIGO,1,(CHARINDEX('.',S.CODIGO)-1)) FROM PFUNC F JOIN PSECAO S ON F.CODSECAO = S.CODIGO AND F.CODCOLIGADA = S.CODCOLIGADA JOIN PPESSOA P ON P.CODIGO = F.CODPESSOA WHERE CHAPA = 'CHAPA DE UM FUNCIONARIO DA FILIAL UM' assim poderemos ver o que o substring está retornando para os funcionários que estão na seção que começa com 1.alguma coisa. Bom dia Frederico: 0010 MARIA JOSE 1988-07-04 00:00:00.000 3667.22 06.004 M SECRETARIA DE CURSOS - CEP ELIAS BUFAIÇAL 01 Na ordem: Chapa / Nome / Admissao / Salario / Cod Depto. / Cod. Recebimento / Descriçao da seção / No collum name Lembrando que preciso também da informação da filial. Abs! Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Frederico Postado 19 de Agosto de 2011 Tópicos Que Criei: 11 Tópicos/Dia: 0.00 Meu Conteúdo: 1.140 Conteúdo/Dia: 0.21 Reputação: 60 Pontos/Conquistas: 6.161 Conteúdo Resolvido: 0 Dias Ganho: 33 Status: Offline Idade: 42 Dispositivo: Windows Denunciar Compartilhar Postado 19 de Agosto de 2011 Bom dia Frederico: 0010 MARIA JOSE 1988-07-04 00:00:00.000 3667.22 06.004 M SECRETARIA DE CURSOS - CEP ELIAS BUFAIÇAL 01 Na ordem: Chapa / Nome / Admissao / Salario / Cod Depto. / Cod. Recebimento / Descriçao da seção / No collum name Lembrando que preciso também da informação da filial. Abs! Bruno, Poderia postar o resultado da select codfilial from gfilial []'s Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Bruno Cavalcanti Postado 19 de Agosto de 2011 Tópicos Que Criei: 40 Tópicos/Dia: 0.01 Meu Conteúdo: 298 Conteúdo/Dia: 0.06 Reputação: 6 Pontos/Conquistas: 1.896 Conteúdo Resolvido: 0 Dias Ganho: 5 Status: Offline Autor Denunciar Compartilhar Postado 19 de Agosto de 2011 Bruno, Poderia postar o resultado da select codfilial from gfilial []'s Faltou um order by, mas é isso aí: 1 5 17 10 18 14 15 2 16 4 13 8 6 7 9 12 11 3 19 Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Bruno Cavalcanti Postado 22 de Agosto de 2011 Tópicos Que Criei: 40 Tópicos/Dia: 0.01 Meu Conteúdo: 298 Conteúdo/Dia: 0.06 Reputação: 6 Pontos/Conquistas: 1.896 Conteúdo Resolvido: 0 Dias Ganho: 5 Status: Offline Autor Denunciar Compartilhar Postado 22 de Agosto de 2011 Faltou um order by, mas é isso aí: 1 5 17 10 18 14 15 2 16 4 13 8 6 7 9 12 11 3 19 Frederico, algum progresso? =) Obrigado. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Frederico Postado 23 de Agosto de 2011 Tópicos Que Criei: 11 Tópicos/Dia: 0.00 Meu Conteúdo: 1.140 Conteúdo/Dia: 0.21 Reputação: 60 Pontos/Conquistas: 6.161 Conteúdo Resolvido: 0 Dias Ganho: 33 Status: Offline Idade: 42 Dispositivo: Windows Denunciar Compartilhar Postado 23 de Agosto de 2011 Frederico, algum progresso? =) Obrigado. Bruno, desculpe a demora mas ontem não tivemos expediente dia de folga aproveitei para se desconectar do mundo....rs Tente usar essa expressão abaixo para ver se retorna os dados da filial. SELECT F.CHAPA, F.NOME, F.DATAADMISSAO,F.SALARIO, S.CODDEPTO, F.CODRECEBIMENTO, S.DESCRICAO, G.NOMEFANTASIA FROM PFUNC F JOIN PSECAO S ON F.CODSECAO = S.CODIGO AND F.CODCOLIGADA = S.CODCOLIGADA JOIN PPESSOA P ON P.CODIGO = F.CODPESSOA JOIN GFILIAL G ON S.CODCOLIGADA = G.CODCOLIGADA AND SUBSTRING(S.CODIGO,1,(CHARINDEX('.',S.CODIGO)-1)) = '1' WHERE CODSITUACAO <> 'D' AND CODSITUACAO <> 'I' ORDER BY CODRECEBIMENTO DESC Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Bruno Cavalcanti Postado 23 de Agosto de 2011 Tópicos Que Criei: 40 Tópicos/Dia: 0.01 Meu Conteúdo: 298 Conteúdo/Dia: 0.06 Reputação: 6 Pontos/Conquistas: 1.896 Conteúdo Resolvido: 0 Dias Ganho: 5 Status: Offline Autor Denunciar Compartilhar Postado 23 de Agosto de 2011 Bruno, desculpe a demora mas ontem não tivemos expediente dia de folga aproveitei para se desconectar do mundo....rs Tente usar essa expressão abaixo para ver se retorna os dados da filial. SELECT F.CHAPA, F.NOME, F.DATAADMISSAO,F.SALARIO, S.CODDEPTO, F.CODRECEBIMENTO, S.DESCRICAO, G.NOMEFANTASIA FROM PFUNC F JOIN PSECAO S ON F.CODSECAO = S.CODIGO AND F.CODCOLIGADA = S.CODCOLIGADA JOIN PPESSOA P ON P.CODIGO = F.CODPESSOA JOIN GFILIAL G ON S.CODCOLIGADA = G.CODCOLIGADA AND SUBSTRING(S.CODIGO,1,(CHARINDEX('.',S.CODIGO)-1)) = '1' WHERE CODSITUACAO <> 'D' AND CODSITUACAO <> 'I' ORDER BY CODRECEBIMENTO DESC Tranquilo Henrique! Quando temos estas oportunidades, temos mais é que delisgar do mundo mesmo. rs Sua query executou mas não está trazendo nenhum registro. Acabei começando ela do zero de novo e consegui fazer funcionar com subselects, conforme abaixo: SELECT A.CHAPA, A.NOME, ( SELECT JJ.NOMECARGO FROM PFCOMPL JJ WHERE JJ.CODCOLIGADA = A.CODCOLIGADA AND JJ.CHAPA = A.CHAPA ) CARGO, B.NOME FUNCAO, A.SALARIO, ( SELECT CC.VALOR FROM PFCODFIX CC WHERE CC.CODCOLIGADA = A.CODCOLIGADA AND CC.CHAPA = A.CHAPA AND CC.CODEVENTO = '0198' ) GRATIFICACAO, A.DATAADMISSAO, A.DATADEMISSAO, A.CODSITUACAO, A.CODRECEBIMENTO, A.CODSECAO, E.DESCRICAO, F.NOMEFANTASIA FROM PFUNC A, PFUNCAO B, PSECAO E, GFILIAL F, PPESSOA G WHERE G.CODIGO = A.CODPESSOA AND F.CODCOLIGADA = A.CODCOLIGADA AND F.CODFILIAL = E.CODFILIAL AND E.CODCOLIGADA = A.CODCOLIGADA AND E.CODIGO = A.CODSECAO AND B.CODCOLIGADA = A.CODCOLIGADA AND B.CODIGO = A.CODFUNCAO AND A.CODSITUACAO <> 'D' AND A.CODSITUACAO <> 'I' ORDER BY A.CODRECEBIMENTO DESC Custou mas funcionou.. rs O único problema é que ela demora uns 3 segundos pra executar. A sua provavelmente está mais inteligente e rápida. Mas foi o único jeito que consegui fazer pra ela funcionar. =) Se quiser insistir mais um pouco na sua eu aguardo, caso contrário me avise que eu marco resolvido aqui no post. Muito obrigado pela disposição! Bruno. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Posts Recomendados
Participe da conversa
Você pode postar agora, e se registrar mais tarde. Se você tiver uma conta, faça o login agora para postar com sua conta.