[firebase-br] Select coomplicado. Help!
Erick Phillipe R. de Almeida
ephilliperj em yahoo.com.br
Qua Out 12 08:19:47 -03 2005
O Select abaixo visa trazer os últimos preços aplicados e armazenados em um
histórico de preços. Existe alguma forma de dinamizar este select, ou mesmo
escrevê-lo de forma mais simples?
SELECT CPH.ID_PRECO,
CPH.ID_PRODUTO,
CPH.ID_EMPRESA,
CP.DESCRICAO,
(SELECT FIRST 1 CPH2.VL_PRECO
FROM CAIXA_PRECOS_HISTORICO CPH2
WHERE (CPH2.ID_PRODUTO = :ID_PRODUTO) AND
(CPH2.ID_EMPRESA = :ID_EMPRESA) AND
(CPH2.ID_PRECO = CPH.ID_PRECO) AND
(CPH2.DT_REFERENCIA <= CURRENT_TIMESTAMP) AND
(CPH2.ST_EXCLUIDO = 0)
ORDER BY CPH2.DT_REFERENCIA DESC) AS "VL_PRECO",
(SELECT FIRST 1 CPH2.DT_REFERENCIA
FROM CAIXA_PRECOS_HISTORICO CPH2
WHERE (CPH2.ID_PRODUTO = :ID_PRODUTO) AND
(CPH2.ID_EMPRESA = :ID_EMPRESA) AND
(CPH2.ID_PRECO = CPH.ID_PRECO) AND
(CPH2.DT_REFERENCIA <= CURRENT_TIMESTAMP) AND
(CPH2.ST_EXCLUIDO = 0)
ORDER BY CPH2.DT_REFERENCIA DESC) AS "DT_REFERENCIA"
FROM CAIXA_PRECOS_HISTORICO CPH
LEFT JOIN CAIXA_PRECOS CP ON (CP.ID= CPH.ID_PRECO)
WHERE (CPH.ID_PRODUTO = :ID_PRODUTO) AND
(CPH.ID_EMPRESA = :ID_EMPRESA) AND
(CPH.DT_REFERENCIA <= CURRENT_TIMESTAMP) AND
(CPH.ST_EXCLUIDO = 0)
GROUP BY 1, 2, 3, 4
Mais detalhes sobre a lista de discussão lista