Try this query, it may work SELECT (SELECT COUNT(id) FROM person pe JOIN program pr ON pe.id = pr.id AND pr.name = 'BA' AND pe.gender = 'MALE') A1, (SELECT COUNT(id) FROM person pe JOIN program pr ON pe.id = pr.id AND pr.name = 'BA' AND pe.gender = 'FEMALE') A2, (SELECT COUNT(id) FROM person pe JOIN program pr ON pe.id = pr.id AND pr.name = 'BA') A3, (SELECT COUNT(id) FROM person pe JOIN program pr ON pe.id = pr.id AND pr.name = 'BE' AND pe.gender = 'MALE') B1, (SELECT COUNT(id) FROM person pe JOIN program pr ON pe.id = pr.id AND pr.name = 'BE' AND pe.gender = 'FEMALE') B2, (SELECT COUNT(id) FROM person pe JOIN program pr ON pe.id = pr.id AND pr.name = 'BE') B3, (SELECT COUNT(id) FROM person pe JOIN program pr ON pe.id = pr.id AND pr.name NOT IN ('BA','BE') AND pe.gender = 'MALE') C1, (SELECT COUNT(id) FROM person pe JOIN program pr ON pe.id = pr.id AND pr.name NOT IN ('BA','BE') AND pe.gender = 'FEMALE') C2, (SELECT COUNT(id) FROM person pe JOIN program pr ON pe.id = pr.id AND pr.name NOT IN ('BA','BE')) C3