• Alternate way below. If you can confirm that we have clarified the problem and that the solution works maybe one of the more experienced posters can speak to best practices in dealing with this particular issue...

    CREATE TABLE #Test (TranCode varchar(20))

    INSERT INTO #Test (TranCode) VALUES ('BUY')

    INSERT INTO #Test (TranCode) VALUES ('SELL')

    INSERT INTO #Test (TranCode) VALUES ('CONSTRAIN')

    INSERT INTO #Test (TranCode) VALUES ('HOLD')

    INSERT INTO #Test (TranCode) VALUES ('ON ACCOUNT')

    DECLARE @TC varchar(50)

    --SELECT @TC = 'BUY'

    --SELECT @TC = 'SELL'

    SELECT @TC = 'ALL'

    IF @TC = 'ALL' SET @TC = NULL

    SELECT

    *

    FROM #Test

    WHERE

    TranCode = @TC OR @TC IS NULL

    DROP TABLE #test