I have a table
ID | Name | job | Colour |
---|---|---|---|
1 | Abby | Janitor | pink |
2 | Bob | teacher | yellow |
3 | Cam | Musician | blue |
4 | Bob | teacher | green |
5 | Abby | teacher | pink |
And I want to get the Name of those with the same Job but has at least two different colours
So in this case only Bob would get returned
CodePudding user response:
We can use an aggregation approach here:
SELECT Name
FROM yourTable
GROUP BY Name
HAVING MIN(job) = MAX(job) AND
MIN(Colour) <> MAX(Colour);
CodePudding user response:
SELECT Name
FROM TblComb
GROUP BY Name,Job
HAVING COUNT(Colour) > 1;
Result_Set: