problema com distinct
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
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
Curtidas 0
Respostas
Emerson Nascimento
05/04/2006
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
GOSTEI 0
Pecchiai
05/04/2006
Oi Emerson.
Já tentei mas esse erro.
(Invalid use of keyword. Token :null line Number: 4.
Já tentei mas esse erro.
(Invalid use of keyword. Token :null line Number: 4.
GOSTEI 0
Emerson Nascimento
05/04/2006
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
GOSTEI 0
Pecchiai
05/04/2006
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
GOSTEI 0
Pecchiai
05/04/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.
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.
GOSTEI 0