Quiz⭐毎日コツコツ積み重ね⭐

複数ソースの企業データをCOALESCEで統合する実践的テクニック [Q20250723]

Snowflake
COALESCE
Data Modeling
2025.07.23

企業の業種データが、複数の異なるソースから取得され、company_profilesテーブルに格納されています。 信頼性の高い業種データを取得するため、以下の優先度でデータを採用したいと考えています。

  1. 基幹システムの業種 (system_industry): 最も信頼性が高い
  2. 手入力された業種 (manual_input_industry): 次に信頼性が高い
  3. AIが推定した業種 (ai_inferred_industry): 上記2つがない場合のフォールバック

もし全てのカラムが NULL の場合は、 'Industry not found' を表示します。 このロジックを実装するために、以下の CASE 文を用いたクエリを作成しました。

-- テーブル定義とデータ
CREATE OR REPLACE TABLE company_profiles (
company_id INT,
company_name VARCHAR(50),
system_industry VARCHAR(100), -- 基幹システムから取得した業種
manual_input_industry VARCHAR(100), -- オペレーターが手動で入力した業種
ai_inferred_industry VARCHAR(100) -- WebサイトなどからAIが推定した業種
);
INSERT INTO company_profiles VALUES
(1, 'TechCorp', 'IT Services', 'Technology', 'Software'),
(2, 'Innovate Inc.', NULL, 'Manufacturing', 'Robotics'),
(3, 'RetailGlobal', NULL, NULL, 'E-commerce'),
(4, 'DataDriven Co.', NULL, NULL, NULL);
-- 優先度付けを行うCASE文クエリ
SELECT
company_name,
CASE
WHEN system_industry IS NOT NULL THEN system_industry
WHEN manual_input_industry IS NOT NULL THEN manual_input_industry
WHEN ai_inferred_industry IS NOT NULL THEN ai_inferred_industry
ELSE 'Industry not found'
END AS industry
FROM company_profiles;

上記の CASE 文を使ったクエリと 全く同じ結果を返し、かつ最も簡潔なクエリ は、次のうちどれですか?

(select 1 option)

0
X

Sponsored by

スポンサーを募集中。紹介コンテンツもご用意しますので、ご興味あればお問い合わせください。