Array
(
)

problema com distinct

Pecchiai
   - 05 abr 2006

olá pessoal, estou com um problema para fazer um select.
eu quero fazer um select que o resultado no grid fique dividido em grupo.

eu fiz o seguinte....

select numpedido, representada, 2 as flag
from pedido
union all
select distinct 0, representada, 1 as flag
from pedido
order by representada, flag

funciona beleza do jeito que eu quero, mas o problema é que tenho de colocar mais 3 campos.
Teria que ficar assim...

select numpedido, valortotal, representada, nome, data, 2 as flag
from pedido
union all
select distinct 0, 0 as valortotal , representada, nome, data, 1 as flag
from pedido
order by representada, flag]

isso da erro, mostra duplicidade por causa do nome e data.
como faço para quando o flag for 1 eu mostra zero no campo nome e data.

estou usando o velho Paradox.

obrigado pela atenção.

Adilson


Emerson
   - 05 abr 2006

tente:
#Código

select
numpedido, valortotal, representada, nome, data, 2 as flag
from
pedido

union all

select
distinct 0, 0 as valortotal , representada, null nome, null data, 1 as flag
from
pedido
order by
representada, flag



Pecchiai
   - 06 abr 2006

Oi Emerson.

Já tentei mas esse erro.

(Invalid use of keyword. Token :null line Number: 4.


Emerson
   - 06 abr 2006

então tente:
#Código

select 
numpedido, valortotal, representada, nome, data, 2 as flag
from
pedido

union all

select
distinct 0, 0 as valortotal , representada, ´´ nome, ´´ data, 1 as flag
from
pedido
order by
representada, flag



Pecchiai
   - 06 abr 2006


Citação:
então tente:
#Código

select 
numpedido, valortotal, representada, nome, data, 2 as flag
from
pedido

union all

select
distinct 0, 0 as valortotal , representada, ´´ nome, ´´ data, 1 as flag
from
pedido
order by
representada, flag


Emerson, obrigado pela atenção, mas tb da erro de sintax, estou colocando esse codigo dentro do SQL do componente Query.

Adilson


Pecchiai
   - 06 abr 2006

Pessoal resolvi o problema criando uma tabela auxiliar em tempo de execução e no final do processamento eu destruo a tabela.
Mas não estou satisfeito, acho que não é uma boa pratica, porque se tiver muitos registros o processamento pode demorar.
Poriso se alguem tiver uma idéia de como fazer o select para esse caso eu agradeço.

o grid ficou mais ou menos assim

---------------------------------------------------
num | data | nome cliente | valor
--------------------------------------------------
representante comercial XX 30,00 <------- soma da venda desse cliente
--------------------------------------------------
001| 05/04/2006 | cliente X | 10,00
002| 06/04/2005 | cliente Y | 20,00
--------------------------------------------------
representante comercial YY 50,00 <------- soma da venda desse cliente
--------------------------------------------------
003 | 06/04/2005 | cliente A | 50,00
--------------------------------------------------


e assim por diante.