Retorno em consulta SQL Usando a Clausula Join

SQL

12/07/2022

Boa Tarde Pessoal,

Estou precisando da ajuda de vocês se possível, estou montando um query que no parâmetro tenho código de produto que não existe na tabela porem este código eu preciso que seja informado no retorno da consulta. Segue abaixo a query.

Observação: Ja usei ( Inner Join/ Left Join, Right Join, Full Join )


SELECT
SB2.B2_COD,
Cast(
SB2.B2_QATU - B2_RESERVA - (B2_QEMP + B2_QACLASS) - (B2_QEMPSA - B2_QEMPPRJ - B2_QTNP) + B2_QNPT - (B2_QNPT - B2_QEMPPRE) AS NUMERIC(15, 2)
) As B2_QATU,
SB1.B1_CONV
FROM
SB2010(NOLOCK) SB2
JOIN SB1010(NOLOCK) SB1 ON SB2.B2_COD = SB1.B1_COD AND SB2.B2_FILIAL = SB1.B1_FILIAL
WHERE
1 = 1
AND SB2.D_E_L_E_T_=''''
AND SB1.D_E_L_E_T_=''''
--AND SB2.B2_FILIAL = %Exp:cCpocCnpj%
AND SB1.B1_COD IN (''X-010061'',''T-010061'')
--AND SB1.B1_COD = SB2.B2_COD
--AND SB1.B1_FILIAL = SB2.B2_FILIAL
Wanderson Fernandes

Wanderson Fernandes

Curtidas 0

Respostas

Emerson Nascimento

Emerson Nascimento

12/07/2022

Não tem como você consultar uma informação e retornar um resultado que NÃO exista na tabela.
Agora se você quer retornar o dado da tabela principal, mesmo que não exista na tabela relacionada, isto é possível.
SELECT
	SB1.B1_COD,
	Cast(COALESCE(SB2.B2_QATU - B2_RESERVA - (B2_QEMP + B2_QACLASS) - (B2_QEMPSA - B2_QEMPPRJ - B2_QTNP) + B2_QNPT - (B2_QNPT - B2_QEMPPRE),0) AS NUMERIC(15, 2)) As B2_QATU,
	SB1.B1_CONV
FROM
	SB1010(NOLOCK) SB1
LEFT JOIN
	SB2010(NOLOCK) SB2
	ON SB2.D_E_L_E_T_='' AND SB2.B2_FILIAL = SB1.B1_FILIAL AND SB2.B2_COD = SB1.B1_COD
WHERE
	SB1.D_E_L_E_T_=''
	AND SB1.B1_COD IN ('X-010061','T-010061')


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

12/07/2022

O problema persiste?
GOSTEI 0
POSTAR