[firebase-br] Como Ordenar neste caso

Zottis bzottis em ig.com.br
Seg Abr 23 08:38:08 -03 2012


Pessoal, to numa sinuca de bico

Tenho uma tabela clientes COD_CLIENTE-,......,COD_CIDADE

Tenho a Tabela ROTAS_NOME- COD_ROTA_NOME, ROTA  .... que armazena o nome das
rotas(Cianorte, Londrina, Tapejara, Rota1, Industrial, Solidos, etc)

Tenho a Tabela ROTA_CLIENTE- CODIGO, COD_ROTA_NOME, COD_CLIENTE....que
armazena as rotas que o cliente pertence

Tenho a Tabela CIDADES_ROTA- COD_ROTA_NOME, COD_CIDADE, ORDEM que armazena
as cidades que fazem parte da rota

 

Tenho a Tabela ROTAS- CODIGO, COD_ROTA_NOME Aqui montamos a rota

 

Preciso buscar todos os clientes pertencentes a rota que estou montando mas
ordenar pelo campo ordem da tabela CIDADES_ROTA 

Como faria isso?

 

Estou fazendo assim:

 

select c.COD_CLIENTE,           c.DATA_CAD,              c.COD_EMPRESA,
c.NOME_FANTASIA,        c.RAZAO_SOCIAL,

       c.NOME_MONTADO,          c.COD_CIDADE,            cd.cidade ,
c.COD_AREA_ATUACAO,     c.COD_TIPO_AREA,

       c.INICIO_CONTRATO,       c.FINAL_CONTRATO,        c.INTERVALO_COLETA,
c.TIPO_BOMBONA,         c.FORMA_PGTO,

       c.VALOR_KILO,            c.VALOR_KILO_EXCEDE,     c.LIMITE_KILO,
c.TAXA_RECOLHIMENTO,    c.BOMBONA,

       c.QTD_COLETAS,           c.COD_CLASSIF_RESIDUOS,  c.VALOR_MENSAL,
c.COD_CLIENTE_EMPRESA,  c.PROXIMA_COLETA,

       c.SERASA,                c.CENTRAL_COBRANCA,      c.BLOQUEADO,
c.INADIMPLENTE,         c.COM_NOTA_FISCAL,

       c.com_comodato,          c.contrato_retornado,    c.cod_master,
c.COD_DESTINO,

 

            (select Uf from Cidades where Cidades.Cod_cidade = C.Cod_cidade
) as UF,

            (select area from areas_atuacao where
areas_Atuacao.cod_area_atuacao = C.Cod_area_atuacao ) as Area_Atuacao,

            (select TIPO_AREA from TIPO_AREA where TIPO_AREA.cod_TIPO_area =
C.Cod_TIPO_area) as TIPO_Area, 

            (select  Classificacao from CLASSIF_RESIDUOS where
CLASSIF_RESIDUOS.COD_Classificacao = C.COD_CLASSIF_RESIDUOS) as
Classific_Resid, 

            (select min(FAR_mtr.DATA_COLETA) from FAR_MTR where
FAR_MTR.COD_CLIENTE = C.COD_Cliente) as Primeira_COLETA , 

            (select Max(FAR_MTR.DATA_COLETA) from FAR_MTR where
FAR_MTR.COD_Cliente = C.COD_Cliente) as Ultima_COLETA, 

            (select Count(*) from FAR_MTR where FAR_MTR.COD_CLIENTE =
C.COD_Cliente and far_mtr.baixado = 'N' ) as MTR_ABERTA,

            (select Count(*) from FAR_MTR where FAR_MTR.COD_CLIENTE =
C.COD_Cliente and far_mtr.cod_rota = :VarRota_Atual) as MTR_ROTA

 

from Clientes c, rotas_cliente R, cidades cd

  where c.DELETADO = 'N'

    and c.cod_cidade = cd.cod_cidade

    and c.cod_cliente = r.cod_cliente

    and r.cod_rota_nome = :VarRota

    and c.ativo  = 'S'

 

mas falta a parte da ordenação




Mais detalhes sobre a lista de discussão lista