Я думаю, что мне нужно повернуть базу данных ... или, может быть, есть какая-то другая функция, которую я могу использовать, чтобы получить результат, который я ищу. Ниже показано, как выглядит мой текущий набор данных (на самом деле у меня около 15 метрик):
+----------------------------------+---------+------------------------+----------------+
| ID | Metric 1| Metric 2 | Overall Column |
+----------------------------------+---------+------------------------+----------------+
| 1 | Red | Yellow | Red |
| 2 | Yellow | Yellow | Yellow |
| 3 | Yellow | | Yellow |
+----------------------------------+---------+------------------------+----------------+
Весь столбец в SQL уже имеет логику, чтобы сказать «Красный», если какая-либо из метрик красная (даже если они тоже желтые), а затем «Желтый», если есть желтый. Также есть случаи, когда двумя метриками могут быть желтый, красный и т. Д. Я хочу добавить новый столбец, в котором будет конкретно указано, какая метрика (или метрики) вызвала общее значение красного или желтого цвета. Я думаю, что это своего рода стержень, который для каждого идентификатора будет иметь метрики в качестве значения строки и соответствующий цвет также в качестве значения строки (если это имеет смысл), а затем я могу сделать функцию listagg и затем присоединиться к ней. вернуться к исходному набору данных на основе идентификатора.
Пример Pivot, игнорировать col2 & col3 ..
+----------------------------------+---------+------------------------+----------------+
| ID | col1 | col2 | col3 |
+----------------------------------+---------+------------------------+----------------+
| 1 | Red | | |
| 1 | Yellow | | |
| 3 | Yellow | | |
+----------------------------------+---------+------------------------+----------------+
После этого я могу зарегистрировать эту таблицу для захвата нескольких цветов, а затем присоединить ее к исходной таблице. Единственное, что я оставляю там, это если есть метрика красного и желтого для индивидуального идентификатора, а затем я делаю листаг, который принесет красный и желтый, даже если общее значение основано на метрике красного. Надеюсь, что эксперты по SQL помогут мне здесь.