重複の可能性:
SQL の PIVOT で Null を置き換える方法
次の動的 SQL を使用しています。
select *
from #tempfinaltable
pivot (sum(TotalXSAAL) for Section_desc in
' + '('+@BranchNames++')) AS AALs'
これは上記のクエリと同じです
select *
from #tempfinaltable
pivot (sum(TotalXSAAL) for Section_desc in
([Communication],[Construction],[Energy],[Financial Institutions],
[General Property],[HIGHER ED & HEALTHCARE],
[Inland Marine],[Real Estate])) AS AALs
私がしたいのは、このクエリを実行するときに null をゼロに置き換えることです。
ゼロに置き換えることができるように ISNULL を使用しようとしましたが、機能しません。IsNull の近くで間違ったシャンタックスを言います。それを修正する方法はありますか?
select *
from #tempfinaltable
pivot IsNull((sum(TotalXSAAL),0) for Section_desc in
([Communication],[Construction],[Energy],[Financial Institutions],
[General Property],[HIGHER ED & HEALTHCARE],
[Inland Marine],[Real Estate])) AS AALs
私もこれをやってみましたが、どちらもうまくいきませんでした。
select Section_Desc, Zone, ISNULL(Sum(TotalXSAAL),0)
from #tempfinaltable
pivot (sum(TotalXSAAL) for Section_desc in
([Communication],[Construction],[Energy],
[Financial Institutions],[General Property],
[HIGHER ED & HEALTHCARE],[Inland Marine],
[Real Estate])) AS AALs
また、データに null はありませんが、ピボットを使用すると、結果に null が表示されます。理由がわからない。
Example Data
Section_Desc Zone TotalXSAAL
Energy Zone1 0
Energy Zone2 0
Energy Zone10 452
Energy Zone2 1123
Energy Zone3 87
Sameple Ouput:
ZONE Communication Construction Energy Financial Institutions General property Higher Ed & Healthcare Inland Marine Real estate
ZONE1 10221 NULL 42124 89214211 911243 NULL 123120 1234235
これに対する答えは次のとおりです。 SQL の PIVOT で Null を置換する方法