Retorno em consulta SQL Usando a Clausula Join

12/07/2022

0

SQL

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

Responder

Posts

13/07/2022

Emerson Nascimento

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')


Responder

16/07/2022

Emerson Nascimento

O problema persiste?
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar