Fórum Left Join com sub-select #411705
19/01/2012
0
Olá, Boa tarde.
Criei um script e gostaria de saber se a maneira que fiz esta, correta.
Ou tambem se tem algum outro Jeito de fazer.
Minha duvida é a seguinte: Tenho um Select Principal e dentro desse select tenho um left join com um sub-select, Gostaria de usar um campo do select principal dentro do sub-select. como fazer isso ?
eu consigui fazer da seguinte forma, Criei uam variavel e jogava o valor do campo do select principal e usava a variavel no sub-select. Existe algum problema em fazer isso?
Segue um exemplo resumido do que eu fiz:´
Criei um script e gostaria de saber se a maneira que fiz esta, correta.
Ou tambem se tem algum outro Jeito de fazer.
Minha duvida é a seguinte: Tenho um Select Principal e dentro desse select tenho um left join com um sub-select, Gostaria de usar um campo do select principal dentro do sub-select. como fazer isso ?
eu consigui fazer da seguinte forma, Criei uam variavel e jogava o valor do campo do select principal e usava a variavel no sub-select. Existe algum problema em fazer isso?
Segue um exemplo resumido do que eu fiz:´
CREATE OR REPLACE FUNCTION vrj.pkg_produ_refer__select_por_tamanho
(
--- PARÂMETROS
--- I/O NOME TIPO
--- *** ****************************** *************************************************
refcursor,
IN p_cd_unida vrj.tb_unida.cd_unida%TYPE
)
RETURNS refcursor AS
$BODY$
DECLARE
v_idCdProdu int;
BEGIN
OPEN $1 FOR
SELECT
prd.cd_produ,
prd.ds_produ,
uni.cd_unida,
AUX.VL_PRODUTO,
v_idCdProdu = prd.cd_produ
FROM
vrj.tb_produ AS prd
INNER JOIN
vrj.tb-detalhes as det
on
det.cd_produ = prd.cd_produ
LEFT JOIN
(SELECT
TBP.CD_PRODU,
SUM(I.VALOR) AS VL_PRODUTO
FROM
TB_TABELA_PRECO AS TBP
WHERE
TBP.CD_UNIDA = p_cd_unida;
AND
TBP.CD_PRODU = v_idCdProdu
GROUP BY
TBP.CD_PRODU) AS AUX
ON
prd.cd_produ = det.cd_prod
WHERE
prd.cd_produ IS NOT NULL;
RETURN $1;
END;
$BODY$
LANGUAGE plpgsql VOLATILE;
Giovani Tizzo
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)