Как отмечали другие комментаторы, вы не показываете, как именно вы связываете людей и цвета. Если вы используете таблицу ссылок (person_id, color_id), то нет способа решить эту проблему в стандартном SQL, поскольку для этого требуется сводная таблица или перекрестная табуляция, которая не является частью стандартного SQL.
Если вы хотите добавить условие, что количество цветов ограничено и известно, и время разработки, вы можете предложить решение, использующее одно соединение для каждого цвета и функции CASE или IF в SQL. Но это было бы не элегантно, и, кроме того, я бы не поверил, что это условие будет оставаться верным очень долго.
Если вам удастся придумать другой способ хранения информации о цветных связях, у вас может быть больше возможностей для получения желаемого результата, но другой метод хранения подразумевает некоторую степень денормализации базы данных, что может привести к трудности.
В противном случае вам придется сделать это с помощью хранимой процедуры или кода приложения.