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