• Below is the simplest way.

    There are alternative ways where you don't have to repeat the SELECT statement. I would go tend to use the simpler way unless the SELECT statement is highly complicated and I don't want to repeat it.

    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 = 'ALL'

    IF @TC = 'BUY' OR @TC = 'SELL'

    BEGIN

    SELECT

    *

    FROM #Test

    WHERE

    TranCode = @TC

    END

    ELSE

    BEGIN

    SELECT

    *

    FROM #Test

    END

    DROP TABLE #Test