problema com distinct

05/04/2006

0

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


Pecchiai

Pecchiai

Responder

Posts

05/04/2006

Emerson Nascimento

tente:
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



Responder

06/04/2006

Pecchiai

Oi Emerson.

Já tentei mas esse erro.

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


Responder

06/04/2006

Emerson Nascimento

então tente:
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



Responder

06/04/2006

Pecchiai

então tente:
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


Responder

06/04/2006

Pecchiai

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.


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar