多分あなたはこのようなものが欲しいと思います。詳細がわかりましたら更新します。
私がこのコメントから離れていたら
問題は、同じ製品の良いものがnullで、悪いもので醜いものが0〜100の値である場合、nullを0に置き換えたいということです。同じ製品で3つすべてがnullの場合、それらをnullにします。 0ではない
私はあなたにこのようなものを与えるでしょう
case
when good is not null then good
when good is null and coalesce(bad,-1) between (0 and 100) and coalesce( ugly,-1) between (0 and 100) then 0
else null
end
3つの列すべてを提供しようとした場合(複数の列があると想定しています)、次のようにすることができます。
select
case
when good is null and bad is null and ugly is null then null
when good is null and (bad is not null or ugly is not null) then 0
else good
end as 'good column values'
,
case
when good is null and bad is null and ugly is null then null
when bad is null and (good is not null or ugly is not null) then 0
else bad
end as 'bad column values'
,
case
when good is null and bad is null and ugly is null then null
when ugly is null and (good is not null or bad is not null) then 0
else ugly
end as 'ugly column values'