Try this
DECLARE @TABLE1 TABLE (
Col1 VARCHAR(50),
Col2 int
)
DECLARE @TABLE2 TABLE (
Col1 VARCHAR(50),
Col2 int
)
INSERT INTO @TABLE1
SELECT 'A' AS Col1, 1 AS Col2 UNION ALL
SELECT 'A' AS Col1, 2 AS Col2 UNION ALL
SELECT 'A' AS Col1, 3 AS Col2 UNION ALL
SELECT 'B' AS Col1, 1 AS Col2 UNION ALL
SELECT 'B' AS Col1, 2 AS Col2 UNION ALL
SELECT 'B' AS Col1, 3 AS Col2 UNION ALL
SELECT 'C' AS Col1, 1 AS Col2 UNION ALL
SELECT 'C' AS Col1, 2 AS Col2 UNION ALL
SELECT 'C' AS Col1, 3 AS Col2
INSERT INTO @TABLE2
SELECT 'A' AS Col1, 1 AS Col2 UNION ALL
SELECT 'B' AS Col1, 2 AS Col2 UNION ALL
SELECT 'B' AS Col1, 3 AS Col2
SELECT TABLE1.Col1,TABLE1.Col2
FROM (
SELECT *, (Col1 + '_' + CONVERT(VARCHAR(50),Col2)) AS MultiCol
FROM @TABLE1 ) AS TABLE1
WHERE TABLE1.MultiCol NOT IN ( SELECT (Col1 + '_' + CONVERT(VARCHAR(50),Col2)) AS MultiCol
FROM @TABLE2 )
-- OR
SELECT *
FROM @TABLE1
WHERE (Col1 + '_' + CONVERT(VARCHAR(50),Col2))
NOT IN ( SELECT (Col1 + '_' + CONVERT(VARCHAR(50),Col2)) AS MultiCol
FROM @TABLE2 )