Microsoft Access 内での UNPIVOT 機能の複製
Microsoft SQL Server の UNPIVOT 関数は、ワイドフォーマットのテーブルをよりフラットな構造に効率的に変換します。 この機能は Access 2010 では直接利用できませんが、UNION ALL
クエリを使用して同じ結果を得ることができます。
Access で UNPIVOT を効果的にシミュレートする方法は次のとおりです:
<code class="language-sql">SELECT ID, A, B, C, [Key 1] AS key_field FROM tblUnpivotSource UNION ALL SELECT ID, A, B, C, [Key 2] AS key_field FROM tblUnpivotSource UNION ALL SELECT ID, A, B, C, [Key 3] AS key_field FROM tblUnpivotSource;</code>
例を挙げて説明しましょう。 次のサンプル テーブルについて考えてみましょう:
<code>ID | A | B | C | Key 1 | Key 2 | Key 3 --------------------------------------- 1 | x | y | z | 3 | 199 | 452 2 | x | y | z | 57 | 234 | 452</code>
このテーブルに対して上記のクエリを実行すると、次の結果が得られます。
<code>ID | A | B | C | key_field -- - - - --------- 1 | x | y | z | 3 2 | x | y | z | 57 1 | x | y | z | 199 2 | x | y | z | 234 1 | x | y | z | 452 2 | x | y | z | 452</code>
UNION ALL
アプローチは、データを正常に「アンピボット」し、テーブルをフラットな表現に変換します。この方法は、UNPIVOT 機能を必要とする Access ユーザーに実用的で適応可能な回避策を提供します。
以上がMicrosoft Access で UNPIVOT 機能をシミュレートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。