CREATE TABLE PM_BATCH_ST (
BATCH_ID INT,
RESULT TEXT
);
INSERT INTO PM_BATCH_ST (BATCH_ID, RESULT)
VALUES
(1000564932, 'ISC'),
(1000564932, 'LLC'),
(1000585739, 'ISC'),
(1000585739, 'LLC'),
(1000384769, 'ISC'),
(1000384769, 'LLC'),
(1000384757, 'LLC'),
(1000888940, 'ISC');
/* @Qubicon has the most tighten-up answer. Below is another way of doing it*/
WITH ISC_table AS (
SELECT *
FROM PM_BATCH_ST
WHERE CONVERT(VARCHAR, RESULT) IN ('ISC')
),
LLC_table AS (
SELECT *
FROM PM_BATCH_ST
WHERE CONVERT(VARCHAR, RESULT) IN ('LLC')
)
SELECT
t1.BATCH_ID AS BATCH_ID
FROM ISC_table AS t1
INNER JOIN LLC_table AS t2
ON t1.BATCH_ID = t2.BATCH_ID;
| BATCH_ID |
| 1000564932 |
| 1000585739 |
| 1000384769 |
fiddle