Order by union
Olá amigos! Eu pesquisei nas respostas que tem no forum e vi que tem muitas indicações de como usar order by + union em um select. Só que qdo. eu coloco o order by no meu select ele dá erro! Será que alguém poderia me ajudar? Eu uso IB 6.1. Abaixo está o erro que ele retorna e depois meu ´pequeno´ select...rs...
grata!
****** erro *********
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 31, char -1.
union.
******* select *******
Select m.cod_estab,
m.duplicata,
m.desd,
m.cliente,
m.emissao,
m.vencimento,
m.representante,
m.saldo as valor,
r.razao_social as desc_representante,
u.descricao as desc_estab,
c.razao_social as desc_cliente,
RTRIM(c.cidade_cob)||´ / ´||c.uf_cob
as praca,
´A´ as tipo
from fimovrec m
left join facadrep r on r.codigo = m.representante
left join utcadest u on u.codigo = m.cod_estab
left join facadcli c on c.codigo = m.cliente
left join fiparams p on 0 = 0
where m.cod_estab = :cod_estab and
m.representante >= :codigo_ini and
m.representante <= :codigo_fim and
m.vencimento >= :data_ini and
m.vencimento <= :data_fim and
m.emissao >= p.base_comiss and
m.inclusao <= :data_ref and
m.vencimento > :data_ref and
m.saldo > 0
order by m.representante
union all
Select m.cod_estab,
m.duplicata,
m.desd,
m.cliente,
m.emissao,
m.vencimento,
m.representante,
m.saldo as valor,
r.razao_social as desc_representante,
u.descricao as desc_estab,
c.razao_social as desc_cliente,
RTRIM(c.cidade_cob)||´ / ´||c.uf_cob
as praca,
´V´ as tipo
from fimovrec m
left join facadrep r on r.codigo = m.representante
left join utcadest u on u.codigo = m.cod_estab
left join facadcli c on c.codigo = m.cliente
left join fiparams p on 0 = 0
where m.cod_estab = :cod_estab and
m.representante >= :codigo_ini and
m.representante <= :codigo_fim and
m.vencimento >= :data_ini and
m.vencimento <= :data_fim and
m.emissao >= p.base_comiss and
m.inclusao <= :data_ref and
m.vencimento <= :data_ref and
m.saldo > 0
order by representante
union all
Select m.cod_estab,
m.duplicata,
m.desd,
m.cliente,
m.emissao,
m.vencimento,
m.representante,
CAST((m.valor - m.saldo) as float)
as valor,
r.razao_social as desc_representante,
u.descricao as desc_estab,
c.razao_social as desc_cliente,
RTRIM(c.cidade_cob)||´ / ´||c.uf_cob
as praca,
´R´ as tipo
from fimovrec m
left join facadrep r on r.codigo = m.representante
left join utcadest u on u.codigo = m.cod_estab
left join facadcli c on c.codigo = m.cliente
left join fiparams p on 0 = 0
where m.cod_estab = :cod_estab and
m.representante >= :codigo_ini and
m.representante <= :codigo_fim and
m.vencimento >= :data_ini and
m.vencimento <= :data_fim and
m.emissao >= p.base_comiss and
m.inclusao <= :data_ref and
(m.valor - m.saldo) > 0
order by m.representante
grata!
****** erro *********
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 31, char -1.
union.
******* select *******
Select m.cod_estab,
m.duplicata,
m.desd,
m.cliente,
m.emissao,
m.vencimento,
m.representante,
m.saldo as valor,
r.razao_social as desc_representante,
u.descricao as desc_estab,
c.razao_social as desc_cliente,
RTRIM(c.cidade_cob)||´ / ´||c.uf_cob
as praca,
´A´ as tipo
from fimovrec m
left join facadrep r on r.codigo = m.representante
left join utcadest u on u.codigo = m.cod_estab
left join facadcli c on c.codigo = m.cliente
left join fiparams p on 0 = 0
where m.cod_estab = :cod_estab and
m.representante >= :codigo_ini and
m.representante <= :codigo_fim and
m.vencimento >= :data_ini and
m.vencimento <= :data_fim and
m.emissao >= p.base_comiss and
m.inclusao <= :data_ref and
m.vencimento > :data_ref and
m.saldo > 0
order by m.representante
union all
Select m.cod_estab,
m.duplicata,
m.desd,
m.cliente,
m.emissao,
m.vencimento,
m.representante,
m.saldo as valor,
r.razao_social as desc_representante,
u.descricao as desc_estab,
c.razao_social as desc_cliente,
RTRIM(c.cidade_cob)||´ / ´||c.uf_cob
as praca,
´V´ as tipo
from fimovrec m
left join facadrep r on r.codigo = m.representante
left join utcadest u on u.codigo = m.cod_estab
left join facadcli c on c.codigo = m.cliente
left join fiparams p on 0 = 0
where m.cod_estab = :cod_estab and
m.representante >= :codigo_ini and
m.representante <= :codigo_fim and
m.vencimento >= :data_ini and
m.vencimento <= :data_fim and
m.emissao >= p.base_comiss and
m.inclusao <= :data_ref and
m.vencimento <= :data_ref and
m.saldo > 0
order by representante
union all
Select m.cod_estab,
m.duplicata,
m.desd,
m.cliente,
m.emissao,
m.vencimento,
m.representante,
CAST((m.valor - m.saldo) as float)
as valor,
r.razao_social as desc_representante,
u.descricao as desc_estab,
c.razao_social as desc_cliente,
RTRIM(c.cidade_cob)||´ / ´||c.uf_cob
as praca,
´R´ as tipo
from fimovrec m
left join facadrep r on r.codigo = m.representante
left join utcadest u on u.codigo = m.cod_estab
left join facadcli c on c.codigo = m.cliente
left join fiparams p on 0 = 0
where m.cod_estab = :cod_estab and
m.representante >= :codigo_ini and
m.representante <= :codigo_fim and
m.vencimento >= :data_ini and
m.vencimento <= :data_fim and
m.emissao >= p.base_comiss and
m.inclusao <= :data_ref and
(m.valor - m.saldo) > 0
order by m.representante
Renata
Curtidas 0