Ir para conteúdo
Seja Membro VIP - Remova Banners de Propagandas, Tenha Liberado Qualquer Download, Além de Acessos em Áreas Exclusivas!! ×
Quer acesso a todas as Áreas do Fórum, até aquelas só para membros VIPs? Também quer poder baixar qualquer ARQUIVO? ×

Edição de Relatório e Planilha (RESOLVIDO)


Bruno Cavalcanti

Posts Recomendados


  • 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

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!

Link para comentar
Compartilhar em outros sites


  • 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

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

Link para comentar
Compartilhar em outros sites


  • 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

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!

Link para comentar
Compartilhar em outros sites


  • 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

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

Link para comentar
Compartilhar em outros sites


  • 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

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!

Link para comentar
Compartilhar em outros sites


  • 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

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

Link para comentar
Compartilhar em outros sites


  • 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

So um detalhe, se vc tiver mais que nove filiais dará problema :blush: Vc esta tratando apenas um caractere, a partir da filial 10 teria problemas e retornaria errado, certo ?

Link para comentar
Compartilhar em outros sites


  • 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

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 por Bruno Cavalcanti
Link para comentar
Compartilhar em outros sites


  • 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

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

Link para comentar
Compartilhar em outros sites


  • 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

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 por Bruno Cavalcanti
Link para comentar
Compartilhar em outros sites


  • 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

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

Link para comentar
Compartilhar em outros sites


  • 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

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)

:(

Link para comentar
Compartilhar em outros sites


  • 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

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

Link para comentar
Compartilhar em outros sites


  • 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

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 por Bruno Cavalcanti
Link para comentar
Compartilhar em outros sites


  • 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

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

Link para comentar
Compartilhar em outros sites


  • 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

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 por Frederico
Solicitado pelo usuário
Link para comentar
Compartilhar em outros sites


  • 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

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 por Jair - Fórmula
Tava gigante o post... diminui !!
Link para comentar
Compartilhar em outros sites


  • 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

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.

Link para comentar
Compartilhar em outros sites


  • 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

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.

Link para comentar
Compartilhar em outros sites


  • 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

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!

Link para comentar
Compartilhar em outros sites


  • 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

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

Link para comentar
Compartilhar em outros sites


  • 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

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

Link para comentar
Compartilhar em outros sites


  • 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

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.

Link para comentar
Compartilhar em outros sites


  • 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

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

Link para comentar
Compartilhar em outros sites


  • 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

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.

Link para comentar
Compartilhar em outros sites

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.

Visitante
Responder esse tópico

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Seu link foi automaticamente inserido no corpo do post.   Exibir como um link

×   Seu conteúdo anterior foi restaurado.   Limpar conteúdo do editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Criar Novo...

Informação Importante

Usando este site, você concorda com nossos Termos de Uso e nossa Política de Privacidade.