Eder Postado Fevereiro 25, 2008 Denunciar Share Postado Fevereiro 25, 2008 (editado) 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-00enquanto 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 Fevereiro 25, 2008 por Eder Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Fevereiro 25, 2008 Denunciar Share Postado Fevereiro 25, 2008 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_CpfEu 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Eder Postado Fevereiro 25, 2008 Autor Denunciar Share Postado Fevereiro 25, 2008 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:CODESelect 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_CpfEu 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çoGrato Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Fevereiro 25, 2008 Denunciar Share Postado Fevereiro 25, 2008 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Eder Postado Fevereiro 25, 2008 Autor Denunciar Share Postado Fevereiro 25, 2008 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. :Dvaleu...t+ Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Eder
Ola...
Preciso fazer esta consulta sql Paradox:
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 EderLink para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
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.