WITH rows AS (SELECT RowId FROM ( SELECT dbo.UserDefinedFields.FieldTitle AS Title, dbo.UserDefinedData.UserDefinedRowId AS RowId, dbo.UserDefinedData.FieldValue AS Value FROM dbo.UserDefinedData INNER JOIN dbo.UserDefinedRows ON dbo.UserDefinedData.UserDefinedRowId = dbo.UserDefinedRows.UserDefinedRowId INNER JOIN dbo.UserDefinedFields ON dbo.UserDefinedFields.UserDefinedFieldId = dbo.UserDefinedData.UserDefinedFieldId WHERE dbo.UserDefinedRows.ModuleId = 671 AND NOT (FieldTitle = 'Changed at' OR FieldTitle = 'Created at' OR FieldTitle = 'Changed by' OR FieldTitle = 'Created by') ) AS temptable1 WHERE Title='cat' AND Value = 'enf') SELECT Title, SUM(CASE WHEN Value = 'n' THEN 1 ELSE 0 END) FROM ( SELECT dbo.UserDefinedFields.FieldTitle AS Title, dbo.UserDefinedData.UserDefinedRowId AS RowId, dbo.UserDefinedData.FieldValue AS Value FROM dbo.UserDefinedData INNER JOIN dbo.UserDefinedRows ON dbo.UserDefinedData.UserDefinedRowId = dbo.UserDefinedRows.UserDefinedRowId INNER JOIN dbo.UserDefinedFields ON dbo.UserDefinedFields.UserDefinedFieldId = dbo.UserDefinedData.UserDefinedFieldId WHERE dbo.UserDefinedRows.ModuleId = 671 AND NOT (FieldTitle = 'Changed at' OR FieldTitle = 'Created at' OR FieldTitle = 'Changed by' OR FieldTitle = 'Created by') ) AS t1 JOIN rows AS r ON r.RowId = t1.RowId AND Title LIKE 'UL%' GROUP BY t1.Title