[firebase-br] AJUDA COM SELECT 2 ..... OUTRA AJUDA.
Kléber Caneva
kdcc em terra.com.br
Qua Maio 24 08:43:05 -03 2006
Primeiramente, procure usar JOINs eles ajudam a deixar o Select mais
entendivel. O uso de alias menores (até 3 letras por exemplo) também ajuda
bastante.
select cp.ds_pagina || ' ' || cp.ds_linha || cp.ds_coluna Quadrante,
cli.nm_entidade,
cli.tp_entrega,
end.ds_endereco,
end.nr_numero,
end.ds_pontoref,
end.ds_bairro,
op.nm_entidade Operador,
eop.ds_endereco,
eop.nr_numero,
eop.ds_pontoref,
eop.ds_bairro,
mb.nm_entidade Motoboy
from TB_PEDIDO ped
Join TB_PEDIDO_NIVEL pn on (pn.id_pedido = ped.id_pedido and
pn.ID_NIVEL = 10)
Join TB_ENTIDADE cli on (cli.id_entidade = ped.id_entidade)
Join TB_ENDERECO end on (end.id_entidade = cli.id_entidade and
end.fl_tipo = 'E')
Join TB_CEP cp on (cp.id_cep = end.id_cep)
Join TB_ENTIDADE op on (op.id_entidade = ped.ID_ENTIDADE_RESP and
op.fl_tipo = 'E')
Join TB_ENDERECO eop on (eop.id_entidade = op.id_entidade )
Join TB_ENTIDADE mb on (mb.id_entidade = ped.ID_ENTIDADE_ENT)
Segundo, mesmo que você não traga precise dos dados, os campos devem
aparecem, não há como eu um registro tem 10 campos e em outro apenas 5.
Terceiro o "IF" no FB é a clausula CASE. Procure nos historicos da Lista no
no Site da Firebase para aprender sobre este comendo.
[]´s
Kléber Caneva
----- Original Message -----
From: "Adalberto de Sousa Monteiro" <asm190 em gmail.com>
To: <lista em firebase.com.br>
Sent: Tuesday, May 23, 2006 9:38 PM
Subject: [firebase-br] AJUDA COM SELECT 2 ..... OUTRA AJUDA.
BOA NOITE PESSOAL ....
SE PUDEREM ME AJUDAR COM ESSE SELECT TAMBEM .... AGRADECERIA.
É O SEGUINTE, TENHO SEGUINTE SELECT.
select cp.ds_pagina || ' ' || cp.ds_linha || cp.ds_coluna Quadrante,
cli.nm_entidade,
cli.tp_entrega,
endereco.ds_endereco,
endereco.nr_numero,
endereco.ds_pontoref,
endereco.ds_bairro,
operador.nm_entidade Operador,
endOperador.ds_endereco,
endOperador.nr_numero,
endOperador.ds_pontoref,
endOperador.ds_bairro,
motoboy.nm_entidade Motoboy
from TB_PEDIDO ped,
TB_PEDIDO_NIVEL pednivel,
TB_ENTIDADE cli,
TB_ENTIDADE operador,
TB_ENTIDADE motoboy,
TB_ENDERECO endereco,
TB_ENDERECO endOperador,
TB_CEP cp
where cli.id_entidade = ped.id_entidade
and operador.id_entidade = ped.ID_ENTIDADE_RESP
and motoboy.id_entidade = ped.ID_ENTIDADE_ENT
and endereco.id_entidade = cli.id_entidade
and endereco.fl_tipo = 'E'
and endOperador.id_entidade = operador.id_entidade
and endOperador.fl_tipo = 'E'
and cp.id_cep = endereco.id_cep
and pednivel.id_pedido = ped.id_pedido
and pednivel.ID_NIVEL = 10
E EU PRECISO TRAZER O ENDEREÇO DO OPERADOR APENAS QUANDO O CAMPO
CLI.TP_ENTREGA FOR = 'O', CASO CONTRARIO NAO PRECISO TRAZER OS DADOS DO
ENDEREÇO DO OPERADOR, COMO FAÇO ESSE "IF" NA LINHA DO SELECT ?
SERIA ALGO "MAIS OU MENOS" ASSIM
select cp.ds_pagina || ' ' || cp.ds_linha || cp.ds_coluna Quadrante,
cli.nm_entidade,
cli.tp_entrega,
endereco.ds_endereco,
endereco.nr_numero,
endereco.ds_pontoref,
endereco.ds_bairro,
operador.nm_entidade Operador,
IF CLI.TP_ENTREGA = 'O' THEN
BEGIN
endOperador.ds_endereco,
endOperador.nr_numero,
endOperador.ds_pontoref,
endOperador.ds_bairro,
END
motoboy.nm_entidade Motoboy
from TB_PEDIDO ped,
TB_PEDIDO_NIVEL pednivel,
TB_ENTIDADE cli,
TB_ENTIDADE operador,
TB_ENTIDADE motoboy,
TB_ENDERECO endereco,
TB_ENDERECO endOperador,
TB_CEP cp
where cli.id_entidade = ped.id_entidade
and operador.id_entidade = ped.ID_ENTIDADE_RESP
and motoboy.id_entidade = ped.ID_ENTIDADE_ENT
and endereco.id_entidade = cli.id_entidade
and endereco.fl_tipo = 'E'
and endOperador.id_entidade = operador.id_entidade
and endOperador.fl_tipo = 'E'
and cp.id_cep = endereco.id_cep
and pednivel.id_pedido = ped.id_pedido
and pednivel.ID_NIVEL = 10
VALEU PESSOAL E UMA BOA NOITE A TODOS
ADALBERTO
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
E-mail classificado pelo Identificador de Spam Inteligente Terra.
Para alterar a categoria classificada, visite
http://mail.terra.com.br/protected_email/imail/imail.cgi?+_u=kdcc&_l=1,1148433057.504760.7609.alcuta.terra.com.br,6296,Des15,Des15
Esta mensagem foi verificada pelo E-mail Protegido Terra.
Scan engine: McAfee VirusScan / Atualizado em 23/05/2006 / Versão:
4.4.00/4768
Proteja o seu e-mail Terra: http://mail.terra.com.br/
Mais detalhes sobre a lista de discussão lista