Как сгруппировать (case) результаты операторов или объединить один из них?
Привет,
Как я могу объединить все это
CACSE(...)результирующие строки объединяются в одну?
Кроме того, есть ли способ сгруппировать несколько операторов без добавления "MAX" в одну запись?
Пожалуйста, проверьте строки ниже, возможно, я ошибся с частью этого:
select max(case when source_column_a in (value_1) then value else null) as "value_a", (case when source_column_a in (value_2) then value else null) as "value_b", (case when source_column_a in (value_3) then value else null) as "value_c", max(case when source_column_a in (value_4) then value else null) as "value_d" from table group by ID, (case when source_column_a in (value_2) then value else null), (case when source_column_a in (value_3) then value else null); example result: value_a value_b value_c value_d Amax (null) (null) Dmax (null) B1 (null) (null) (null) B2 (null) (null) (null) B3 (null) (null) (null) Bmax (null) (null) (null) (null) C1 (null) (null) (null) C2 (null) (null) (null) C3 (null) (null) (null) Cmax (null) Results to achieve: value_a value_b value_c value_d Amax Bmax CMax Dmax (null) B3 C3 (null) (null) B2 C2 (null) (null) B1 C1 (null) value_a value_b value_c value_d Amax Bmax, B3, B2, B1 Cmax, C3, C2, C1 Dmax
С уважением,
Что я уже пробовал:
В ситуации, связанной с дополнительным одним запросом, возможно, он был изменен несколько раз, чтобы включить хотя бы один из случаев в группу by.
RossMW
Это может помочь, если вы приведете пример результата, который вы хотите.
Если вы пытаетесь получить результат обращения в поле, то используйте что-то вроде
Select CASE WHEN Fieldname = 'A' THEN 1; WHEN Fieldname = 'B' THEN 2; WHEN fieldname = 'C' THEN 3; End case;as Fieldname
Member 13323381
Пожалуйста, проверьте строки ниже, возможно, я ошибся с частью этого:
select max(case when source_column_a in (value_1) then value else null) as "value_a", (case when source_column_a in (value_2) then value else null) as "value_b", (case when source_column_a in (value_3) then value else null) as "value_c", max(case when source_column_a in (value_4) then value else null) as "value_d" from table group by ID, (case when source_column_a in (value_2) then value else null), (case when source_column_a in (value_3) then value else null); example result: value_a value_b value_c value_d Amax (null) (null) Dmax (null) B1 (null) (null) (null) B2 (null) (null) (null) B3 (null) (null) (null) Bmax (null) (null) (null) (null) C1 (null) (null) (null) C2 (null) (null) (null) C3 (null) (null) (null) Cmax (null) Results to achieve: value_a value_b value_c value_d Amax Bmax CMax Dmax (null) B1 C1 (null) (null) B2 C2 (null) (null) B3 C3 (null) value_a value_b value_c value_d Amax Bmax, B1, B2, B3 Cmax, C1, C2, C3 Dmax
Patrice T
Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Чтобы каждый мог обратить внимание на эту информацию.