Ir para conteúdo
Fórum Script Brasil
  • 0

Consulta na TQuery


Eder

Pergunta

Ola...

Preciso fazer esta consulta sql Paradox:

Select Dt_Emissao, Nr_ctrc, Pg_Cnpj, Cnpj_cpf 
From Ctrc, Clientes 
Where (Ctrc.Pg_Cnpj = Clientes.Cnpj_Cpf)

O problema...é que os dados do campo: Ctrc.Pg_Cnpj estão neste formato:

00.000.000/0000-00

enquanto que o campo Clientes.Cnpj_cpf esta com este formato:

00000000000000 (sem pontos, barras etc)

Neste caso, teria uma forma de a consulta funcionar....sem ter que alterar nada nas tabelas??

Grato

Editado por Eder
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
Preciso fazer esta consulta sql Paradox:

Select Dt_Emissao, Nr_ctrc, Pg_Cnpj, Cnpj_cpf 
From Ctrc, Clientes 
Where (Ctrc.Pg_Cnpj = Clientes.Cnpj_Cpf)
O problema...é que os dados do campo: Ctrc.Pg_Cnpj estão neste formato: 00.000.000/0000-00 enquanto que o campo Clientes.Cnpj_cpf esta com este formato: 00000000000000 (sem pontos, barras etc) Neste caso, teria uma forma de a consulta funcionar....sem ter que alterar nada nas tabelas??
Eder, este tipo de situação deveria ser evitado. Campos chave de relacionamento devem ser iguais. Esta questão de mostrar com formatação seria apenas uma questão de mascarar o resultado - pense na possibilidade de modificar isto futuramente. Voce deverá notar que isto vai prejudicar um pouco a performance da consulta. Quanto a uma possível solução, experimente desta forma:
Select Dt_Emissao, Nr_ctrc, Pg_Cnpj, Cnpj_cpf, substring(Ctrc.Pg_Cnpj from 1 for 2)+substring(Ctrc.Pg_Cnpj from 4 for 3)+substring(Ctrc.Pg_Cnpj from 8 for 3)+substring(Ctrc.Pg_Cnpj from 12 for 4)+substring(Ctrc.Pg_Cnpj from 17 for 2)
From Ctrc, Clientes 
Where substring(Ctrc.Pg_Cnpj from 1 for 2)+substring(Ctrc.Pg_Cnpj from 4 for 3)+substring(Ctrc.Pg_Cnpj from 8 for 3)+substring(Ctrc.Pg_Cnpj from 12 for 4)+substring(Ctrc.Pg_Cnpj from 17 for 2) = Clientes.Cnpj_Cpf

Eu adicionei a "encrenca" lá no SELECT para que você possa acompanhar o resultado e ver que está ficando correto - depois você pode remover.

Mas isto só deve funcionar se os dados estiverem formatados corretamente.

Link para o comentário
Compartilhar em outros sites

  • 0
Eder, este tipo de situação deveria ser evitado. Campos chave de relacionamento devem ser iguais.

Esta questão de mostrar com formatação seria apenas uma questão de mascarar o resultado - pense na possibilidade de modificar isto futuramente. Voce deverá notar que isto vai prejudicar um pouco a performance da consulta.

R.: ok...é que como os arquivos são de terceiros acabei importando da maneira como vieram...mas já tou arrumando uma maneira de contornar a situação..e ficar os dois arquivos com os dados iguais(campo cliente)...

Quanto a uma possível solução, experimente desta forma:

CODE

Select Dt_Emissao, Nr_ctrc, Pg_Cnpj, Cnpj_cpf, substring(Ctrc.Pg_Cnpj from 1 for 2)+substring(Ctrc.Pg_Cnpj from 4 for 3)+substring(Ctrc.Pg_Cnpj from 8 for 3)+substring(Ctrc.Pg_Cnpj from 12 for 4)+substring(Ctrc.Pg_Cnpj from 17 for 2)

From Ctrc, Clientes

Where substring(Ctrc.Pg_Cnpj from 1 for 2)+substring(Ctrc.Pg_Cnpj from 4 for 3)+substring(Ctrc.Pg_Cnpj from 8 for 3)+substring(Ctrc.Pg_Cnpj from 12 for 4)+substring(Ctrc.Pg_Cnpj from 17 for 2) = Clientes.Cnpj_Cpf

Eu adicionei a "encrenca" lá no SELECT para que você possa acompanhar o resultado e ver que está ficando correto - depois você pode remover.

Mas isto só deve funcionar se os dados estiverem formatados corretamente.

R.: aqui deu problema pois também existe cpf ...e ai não ta dando certo..

Mas beleza..Micheus...vou ter que mudar o processo mesmo....então deixa quieto..

Grande abraço

Grato

Link para o comentário
Compartilhar em outros sites

  • 0
Mas beleza..Micheus...vou ter que mudar o processo mesmo....então deixa quieto..

Se você está importando a informação, então apenas remova os caracteres durante o processo - vai facilitar bastante sua vida. ;)

Se for necessário manter a coluna importada como está, talvez fosse interessante criar uma nova coluna e por nelas os valores sem os caracteres não numéricos.

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0
Se você está importando a informação, então apenas remova os caracteres durante o processo - vai facilitar bastante sua vida.

Se for necessário manter a coluna importada como está, talvez fosse interessante criar uma nova coluna e por nelas os valores sem os caracteres não numéricos.

R.: Ok....foi o que acabei de fazer.......a tabela agora tem duas colunas com cnpj´s uma sem os caracteres e a outro com os caracteres. :D

valeu...t+

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

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

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...