HOTSPOT
注:この質問は、同じシナリオを使用する一連の質問の一部です。あなたの便宜のために、シナリオは各質問で繰り返されます。各質問には異なる目標と回答の選択肢がありますが、シナリオのテキストはこのシリーズの各質問で全く同じです。
繰り返しシナリオの開始
展示品に表示される表を含むデータベースがあります。 (展示ボタンをクリックしてください)。

従業員テーブルを確認し、次のように確認します。
すべてのレコードは、最高経営責任者(CEO)を除いてManagerIDに値を持ちます。

FirstName列とMiddleName列には、一部のレコードではNULL値が含まれています。

タイトル列の有効な値は、営業担当マネージャーおよびCEOです。

SalesSummaryテーブルを確認し、次のように確認します。
ProductCode列には2つの部分があります。最初の5桁は製品コードを表し、最後の5桁は製品コードを表します。

7桁は単価を表します。単価は、次のパターンを使用します。####。##。
多くのレコードで、ProductCode列の単価部分に値が含まれていることがわかります。

一部のレコードには、RegionCode列にNULLが含まれています。

販売データは販売担当者にのみ記録されます。

ビジネスをサポートする一連のレポートと手順を開発しています。各報告書または手順の詳細は以下を参照してください。
販売概要レポート:このレポートは、年および四半期ごとにデータを集計します。レポートは次の表のようにする必要があります。

Sales Managerレポート:このレポートには、各営業マネージャーと、その営業マネージャーに報告するすべての従業員の合計売上金額がリストされます。
地域別売上レポート:このレポートには、従業員および地域別の総売上高が表示されます。レポートには、EmployeeCode、MiddleName、LastName、RegionCode、およびSalesAmountという列が含まれている必要があります。 MiddleNameがNULLの場合は、FirstNameを表示する必要があります。 FirstNameとMiddleNameの両方にNULL値がある場合は、World Unknownを表示する必要があります。/ RegionCodeがNULLの場合、Unknownという単語を表示する必要があります。
Report1:このレポートは、SalesSummaryのデータをEmployeeテーブルや他のテーブルと結合します。 Report1をサポートするオブジェクトを作成する予定です。オブジェクトには次の要件があります。
レポートのデータを提供するSELECTステートメントと結合可能

レポートのSELECTステートメントで複数回使用できます

レポートのSELECTステートメントでのみ使用可能

永久オブジェクトとして保存されない

Report2:このレポートは、SalesSummaryのデータをEmployeeテーブルなどのテーブルに結合します。
Report1をサポートするオブジェクトを作成する予定です。オブジェクトには次の要件があります。
レポートのデータを提供するSELECTステートメントと結合可能

このレポートおよびその他のレポートに複数回使用できます

パラメータを受け入れる

永久オブジェクトとして保存する

販売階層レポート:このレポートは、単一の結果セットのSalesAmount列に対する行の集計、小計行の作成、およびスーパー集計行を行います。このレポートでは、SaleYear、SaleQuarter、およびSaleMonthが階層として使用されています。結果セットには、総計または集計の集計行が含まれていてはなりません。
現行の価格保管手順:このストアード・プロシージャーは、製品コードが提供されたときに、製品の単価を戻す必要があります。単価には最初にドル記号を含める必要があります。さらに、単価には、小数点の左側に3桁ごとにコンマを入れ、小数点の左側に2桁を表示する必要があります。ストアドプロシージャは、たとえ製品コードに無効なデータが含まれていても、エラーをスローしてはなりません。
反復シナリオの終わり
地域別売上レポートのクエリを作成する必要があります。
どの機能を各列に適用する必要がありますか?答えるには、回答エリアで適切なオプションを選択します。
ホットエリア:

正解:

説明/参照:
Explanation:
ボックス1:COALESCE
COALESCEは引数を順番に評価し、最初に評価されなかった最初の式の現在の値をNULLに戻します。
MiddleNameがNULLの場合は、FirstNameを表示する必要があります。 FirstNameとMiddleNameの両方にNULL値がある場合は、Unknownを表示する必要があります。
次の例は、COALESCEが最初の列から非NULL値を持つデータを選択する方法を示しています。
SELECTの名前、クラス、色、ProductNumber、
COALESCE(クラス、色、ProductNumber)AS FirstNotNull
プロダクションから。
NULLIFではない:2つの式が等しくない場合、NULLIFは最初の式を返します。式が等しい場合、NULLIFは最初の式の型のNULL値を返します。
ボックス2:COALESCE
RegionCodeがNULLの場合は、Unknownという単語を表示する必要があります。
参考文献:https://docs.microsoft.com/en-us/sql/t-sql/language-elements/coalesce-transact-sql