Предполагается, что вам не нужна особая обработка для нулей.
select indiv_id, trip_band,
group_shot_code_1 as final_group1,
case
when group_shot_code_2 != group_shot_code_1 then group_shot_code_2
when group_shot_code_3 != group_shot_code_1 then group_shot_code_3
when group_shot_code_4 != group_shot_code_1 then group_shot_code_4
when group_shot_code_5 != group_shot_code_1 then group_shot_code_5
end as final_group2
From your_table;
Также я не смог проверить это, но все выглядит хорошо. Дайте мне знать, если есть какие-либо синтаксические ошибки, которые вы не можете исправить.