住所を含むビジネス データベースに多数のクエリがあり、それらを特定の (既知の) エリアの内側または外側として再分類したいことがよくあります。
このSELECT CASE
構成はこの目的には最適ですが、テスト対象の同じ条件に基づいて複数の戻り値が必要な状況に陥ることがよくあります。たとえば、ビジネスが特定の領域にある場合、私はそれを「内部」として分類しますが、同じトークンで、できれば同じ CASE ブロックで、別の値またはフラグを設定し、観察結果の重み付けを変えることもできます。 CASE 基準が true であることを条件とします。
長い条件ステートメントを活用して複数の戻り値を同時に取得するための最良/最も簡単な方法は何ですか? plpgsql
それは唯一のドメインですか?
編集:以下にモックデータを追加しました。これで分類が行われますが、施設ごとに雇用を比較検討したい場合はCASE
、同じ基準で別のブロックが必要になります。それが私が回避しようとしているものです。
SELECT
City, CASE WHEN City =ANY (ARRAY['San Francisco', 'San Mateo','Oakland','Marin','Santa Clara'])
THEN City ELSE 'outside'::text END as area,EstabEmployees
FROM (VALUES
('San Francisco', 14),
('San Mateo', 23),
('San Mateo', 3),
('San Francisco', 34),
('Visalia', 65),
('Juneau', 23),
('Mendocino', 5),
('Santa Clara', 1),
('Los Angeles', 56),
('San Mateo', 11),
('Los Angeles', 30),
('Marin', 33),
('Oakland', 14),
('Oakland', 2)
) AS t (City, EstabEmployees)
;