In a scenario where I have a table like so:
int id (PK)
int staff_id
int skill_id
bit mainskill
I want to select only ONE record for each staff member (represented by staff_id) listing their main skill as represented by a (1) in mainskill. If no main skill is present, I want to return any of the skill records for that staff member. For example:
id staff_id skill_id mainskill
1 1 24 1
2 1 55 0
3 1 7 0
4 4 24 0
5 4 18 0
6 6 3 0
7 6 18 1
The query should return:
id staff_id skill_id mainskill
1 1 24 1
4 4 24 0
7 6 18 1
I've tried various combinations of grouping, DISTINCT etc but can't get the output I'm after. Any help appreciated.