ordenação em Relatório com quot;SubQueryquot;
Tenho que fazer um relatório de vendas, mas tenho que puxar o nome do cliente da tabea ´CLIENTES´ óbvio. A minha consulta é assim ó:
select V.*,
(select NOME from CLIENTES where CODIGO =
V.CLIENTE_CODIGO) as CLIENTE_NOME
from
VENDAS V
where
DATA between ´03/29/2005´ and ´03/30/2005´
Até aí tudo bem. O problema é que eu quero ordernar isso pelo campo ´CLIENTE_NOME´. Como eu faço isso. Detalhe eu não quero usar campos LookUp, por isso estou pedindo ajuda de como se fazer uma subquery. Agradeço a todos que puderem me ajudar
select V.*,
(select NOME from CLIENTES where CODIGO =
V.CLIENTE_CODIGO) as CLIENTE_NOME
from
VENDAS V
where
DATA between ´03/29/2005´ and ´03/30/2005´
Até aí tudo bem. O problema é que eu quero ordernar isso pelo campo ´CLIENTE_NOME´. Como eu faço isso. Detalhe eu não quero usar campos LookUp, por isso estou pedindo ajuda de como se fazer uma subquery. Agradeço a todos que puderem me ajudar
Biohazard
Curtidas 0
Respostas
Faelcavalcanti
29/03/2005
Cara, você poderia tentar assim, só uma tentativa
Caso não funcione, tenta especificar os campos um a um na cláusula [b:af57bf6b85]Select[/b:af57bf6b85]. Quanto a uma SubQuery seria do tipow, exemplo (o order by aqui não será utilizado, portanto ficaria difícil de incluí-lo externamente) :
Espero ter ajudado!
SELECT V.*, C.CLIENTE_NOME FROM CLIENTES C, VENDAS V WHERE V.CODCLIENTE = C.CODVENDA AND DATA BETWEEN ´03/29/2005´ AND ´03/30/2005´ ORDER BY C.CLIENTE_NOME
Caso não funcione, tenta especificar os campos um a um na cláusula [b:af57bf6b85]Select[/b:af57bf6b85]. Quanto a uma SubQuery seria do tipow, exemplo (o order by aqui não será utilizado, portanto ficaria difícil de incluí-lo externamente) :
AND V.CODCLIENTE IN (SELECT C.CODCLIENTE FROM CLIENTES)
Espero ter ajudado!
GOSTEI 0
Raserafim
29/03/2005
BioHaZard, basta passar como parabetro para à cláusula group by o índice da coluna que vc quer ordenar.
vc vai precisar saber a quantidade de campos que tem o V.*
se o V.* tiver 5 campos então o índice de CLIENTE_NOME será 5 (pois so índices começam no 0)
... Order By 2
vc vai precisar saber a quantidade de campos que tem o V.*
se o V.* tiver 5 campos então o índice de CLIENTE_NOME será 5 (pois so índices começam no 0)
GOSTEI 0