キーと値のペアの構造体配列をマルチマップに変換します。各一意キーは、関連付けられたすべての値の配列にマップされます。
構文
multimap_from_entries(array<struct<K, V>>) -> map<K, array<V>>
パラメーター
| パラメーター | 型 | 説明 |
|---|---|---|
array<struct<K, V>> |
array<struct> |
キーと値のペアの構造体配列です。各構造体には、キーと値の 2 つのフィールドのみを含める必要があります。 |
戻り値
map<K, array<V>> を返します。重複するキーはマージされ、その値は単一の配列に収集されます。
エッジケース
| 条件 | 結果 |
|---|---|
入力配列が null |
null |
| 構造体のフィールドが 2 つではない場合 | エラーを返します |
いずれかのキーが null |
エラーを返します |
例
次のクエリは、キーによって値をグループ化します。キー 1 は 2 回出現するため、両方の値が配列にマージされます。
SELECT multimap_from_entries(array(struct(1, 'a'),
struct(2, 'b'),
struct(1, 'c')));
結果:
{1: ['a', 'c'], 2: ['b']}
関連関数
MULTIMAP_FROM_ENTRIES は複合型関数です。ARRAY、MAP、STRUCT、JSON などの複合型を処理する関数の詳細については、「複合型関数」をご参照ください。