[firebase-br] ajuda SQL

Henrique Ribeiro kikeribeiro em gmail.com
Qui Fev 28 12:29:07 -03 2013


Boa tarde amigo,

Desculpe a demora em responder mas somente agora entrei no email.

Penso que a melhor solução para o teu caso é usar a cláusula "inner join".
Fica mais elegante e a resposta é super-rápida pelo banco de dados.

Tente a sintaxe abaixo:

SELECT ........//campos a serem buscados
FROM.....//nome da tabela que estás buscando os dados
INNER JOIN nota_fiscal_eletr nfe2 on (cr.cod_conta = nfe2.cod_conta) //
aqui vc fará a junção da tua tabela da linha acima com esta de nfe2
WHERE nfe2.nota_no = :varCod_Nota // aqui é a cláusula que especifica o
número exato da nota repassado pelo parâmetro da tua variável

Att,
Luiz Henrique

Em 19 de fevereiro de 2013 22:26, Zottis <bzottis em ig.com.br> escreveu:

> Olá, tenho o SQL abaixo e preciso buscar a conta pelo numero da nota
> Passada
> no Parâmetro,
>
> Ou seja buscar um registro na tabela de Contas a receber que esteja na
> tabela de nota Fiscal
>
>
>
> tentei Assim:
>
>      and (cr.cod_conta in (select nfe2.cod_conta from nota_fiscal_eletr
> nfe2
> where nfe2.nota_no = :varCod_Nota))
>
> mas não retorna nada
>
>
>
> alguém poderia me ajudar, acho que é simples, mas deu branco
> Geral(kkkkkkkk)
>
> Desde já Agradeço
>
>
>
>
>
>
>
> select  CR.Cod_conta,CR.Cod_cliente,CR.Data_cad,CR.Vencimento,CR.Saldo,
> CR.Dias_atraso,
>
>         .....
>
>         CL.Razao_social as Razao_Social, CL.COD_CLIENTE_EMPRESA,
>
>         CL.Fone , CL.Celular,
>
>         CL.Fax , CL.Endereco ,CL.No_casa, CL.Bairro,
>
>         ...
>
>         CL.Cod_area_atuacao, CR.COD_GRUPO, CL.taxa_retencao,
> CL.ISOLAR_BUSCA,
>
>         CL.endereco_corresp ,CL.no_casa_corresp, CL.bairro_corresp,
> CL.cep_corresp, CL.cod_cidade_corresp, CL.NF_DESCRICAO,
>
>         (SELECT AR.Area FROM Areas_atuacao AR WHERE AR.Cod_area_atuacao =
> CL.Cod_area_atuacao)AS AREA_ATUACAO,
>
>
>
>         (SELECT CID.CIDADE FROM CIDADES CID WHERE CID.Cod_cidade =
> CL.Cod_cidade)AS CIDADE,
>
>         (SELECT CID.Uf FROM CIDADES CID WHERE CID.Cod_cidade =
> CL.Cod_cidade)AS UF,
>
>
>
>         (SELECT CID.CIDADE FROM CIDADES CID WHERE CID.Cod_cidade =
> CL.cod_cidade_corresp)AS CIDADE_corresp,
>
>         (SELECT CID.Uf FROM CIDADES CID WHERE CID.Cod_cidade =
> CL.Cod_cidade_corresp)AS UF_corresp,
>
>
>
>         ( coalesce(cr.valor,0) + coalesce(cr.vlr_juros,0) +
> coalesce(CR.despesas_extras,0) + coalesce(CR.taxa_recolhimento,0) +
> coalesce(CR.kilos_excedentes,0) + coalesce(CR.bombonas,0)) PARCELAS,
>
>         coalesce( (select Count(CR2.COD_CONTA) from ctarec CR2 where
> CR2.COD_CLIENTE = CL.COD_CLIENTE and CR2.Pago = 'S' and
>
>                 CR2.Data_Pgto <= CR2.Vencimento and CR2.deletado = 'N' ),0)
> as NoPontuais,
>
>
>
>                 coalesce(   (Select count(CR2.COD_CONTA) FROM Ctarec cr2
> where
>
>                   CR2.COD_CLIENTE = CL.COD_CLIENTE and CR2.Pago = 'S' and
> CR2.deletado = 'N' ),0) as NoCtasPagas,
>
>
>
>                 coalesce( (Select Count(CR2.COD_CONTA) FROM Ctarec CR2
> where
>
>
>                  CR2.COD_CLIENTE = CL.COD_CLIENTE and CR2.Pago = 'S' and
> CR2.DATA_PGTO > CR2.VENCIMENTO and CR2.deletado = 'N' ),0) as
> NoAtrasoPorcento,
>
>
>
>                 coalesce( (select Sum(CR2.DIAS_ATRASO) from Ctarec CR2
> where
>
>
>                  CR2.COD_CLIENTE = CL.COD_CLIENTE and CR2.Pago = 'S' and
> CR2.deletado = 'N' ),0) as AtrasoDias,
>
>
>
>                 coalesce(  (select count(CR2.COD_CONTA) from Ctarec CR2
> where
>
>                 CR2.COD_CLIENTE =  CL.COD_CLIENTE and CR2.Pago = 'N' and
> CR2.deletado = 'N' ),0) as NoCtasNaoPagas,
>
>
>
>                 coalesce(  (select count(CR2.COD_CONTA) from ctarec CR2
> where CR2.COD_CLIENTE = CL.COD_CLIENTE and CR2.Pago='N' and CR2.vencimento
> >= current_date and CR2.deletado = 'N' ),0) as NoNaovencidas,
>
>
>
>                 coalesce(  (select count(CR2.COD_CONTA) from ctarec CR2
> where CR2.COD_CLIENTE = CL.COD_CLIENTE and CR2.Pago = 'N' and
> CR2.vencimento
> < current_date and CR2.deletado = 'N' ),0) as noVencidas,
>
>                 (select first 1 nfe.nota_no from nota_fiscal_eletr nfe
> where
> nfe.cod_conta = cr.cod_conta  and nfe.sit_trib <> 'C')NFe,
>
>                 (select first 1 nfe.codigo from nota_fiscal_eletr nfe where
> nfe.cod_conta = cr.cod_conta and nfe.sit_trib <> 'C')RPS
>
>
>
> from ctaRec CR,Clientes CL
>
>
>
>    where CR.Cod_cliente = CL.Cod_cliente
>
>      and CR.Deletado = 'N'
>
>      and (cr.cod_conta in (select nfe2.cod_conta from nota_fiscal_eletr
> nfe2
> where nfe2.nota_no = :varCod_Nota))(ç Tentei assim)
>
>
>
>         order by CR.NF,CR.Vencimento, CL.Cod_Cliente_EMPRESA,CR.COD_CONTA
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista