Estou tentando adicionar a CASE WHEN
instrução abaixo na WHERE
cláusula SQL, mas o SQL Server não me permite fazê-lo. Todas as colunas usadas são iguais Data Types
, mas ainda estão me dando erro, alguém pode verificar e aconselhar por que não está funcionando?
WHERE supplierAccountDetail.SupplierMasterID IN (
CASE
WHEN @SupplierMasterID IS NOT NULL
THEN @SupplierMasterID
ELSE (sales.ParentSupplierMasterID
,sales.DivisionSupplierMasterID) //Error - Syntax Error
END
)
Se você quiser manter as
CASE WHEN
declarações, precisará especificar uma novaCASE WHEN
declaração por coluna/valor naIN()
declaração.Exemplo:
Isso significa que você comparará sua coluna com a variável duas vezes.
Alternativamente, você pode alterar a consulta para o que Akina mencionou nos comentários: