Create Table myTable ( [ID] [int], [State] [nvarchar](255) ); INSERT INTO myTable(ID,[State]) VALUES(101,'Alabama'); INSERT INTO myTable(ID,[State]) VALUES(102,'Montana'); INSERT INTO myTable(ID,[State]) VALUES(103,'Monatana'); INSERT INTO myTable(ID,[State]) VALUES(103,'Alabama'); INSERT INTO myTable(ID,[State]) VALUES(104,'Alabama'); INSERT INTO myTable(ID,[State]) VALUES(105,'Monatana'); INSERT INTO myTable(ID,[State]) VALUES(105,'Alabama');
Use the below Query to get the required result.
SELECT COUNT(DISTINCT ID) AS ID, [State] FROM myTable WHERE ID IN (SELECT ID FROM myTable GROUP BY ID having COUNT(ID) = 1) and [State] = 'Alabama' GROUP BY [State]
Live SQL SERVER Fiddle Here.
where ID is not repeated? Do you only need IDs 101 and 105?