SELECT rb.OFFICE_ID, rb.BINDER_NO, rb.BINDER_IDFROM dbo.REV_BINDERS AS rbWHERE rb.BINDER_NO IN ( SELECT rb.BINDER_NO FROM dbo.REV_BINDERS AS rb GROUP BY rb.BINDER_NO HAVING COUNT_BIG(*) = 1 );
+-----------+-----------+-----------+| OFFICE_ID | BINDER_NO | BINDER_ID |+-----------+-----------+-----------+| 2105110 | 108 | 5 || 2101110 | 106 | 265 |+-----------+-----------+-----------+
SELECT OFFICE_ID = MAX(t.OFFICE_ID), BINDER_ID = MAX(t.BINDER_ID), t.BINDER_NOFROM ( SELECT rb.*, rn = ROW_NUMBER() OVER ( PARTITION BY rb.BINDER_NO ORDER BY rb.BINDER_NO) FROM dbo.REV_BINDERS AS rb) AS tGROUP BY t.BINDER_NOHAVING MAX(t.rn) = 1;
+-----------+-----------+-----------+| OFFICE_ID | BINDER_NO | BINDER_ID |+-----------+-----------+-----------+| 2101110 | 106 | 265 || 2105110 | 108 | 5 |+-----------+-----------+-----------+
CREATE TABLE [REV_BINDERS]([OFFICE_ID] [int] NOT NULL,[BINDER_ID] [int] NOT NULL,[BINDER_NO] [varchar](7) NULL,);goINSERT INTO [REV_BINDERS] ([OFFICE_ID],[BINDER_ID],[BINDER_NO])select 2105110 , 1 ,0101 union allselect 2105110 ,2 ,0102 union allselect 2105110 ,3 ,0103 union allselect 2105110 ,4 ,0104 union allselect 2105110 ,5 ,0108 union allselect 2105110 ,6 ,0105 union allselect 2101110 ,261 ,0101 union allselect 2101110 ,262 ,0102 union allselect 2101110 ,263 ,0103 union allselect 2101110 ,264 ,0104 union allselect 2101110 ,265 ,0106 union allselect 2101110 ,266 ,0105;gowith emp as (select OFFICE_ID, BINDER_ID, BINDER_NO, count(*) over (PARTITION BY BINDER_NO) as BinderCntfrom REV_BINDERS )select * from emp where BinderCnt = 1;godrop table [REV_BINDERS];go