ホームページ > データベース > mysql チュートリアル > Microsoft Access 2010 で UNPIVOT をシミュレートするにはどうすればよいですか?

Microsoft Access 2010 で UNPIVOT をシミュレートするにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-11 16:16:42
オリジナル
971 人が閲覧しました

How to Simulate UNPIVOT in Microsoft Access 2010?

Access 2010 で UNPIVOT をエミュレートする

MS SQL Server 2005 は UNPIVOT 関数をサポートしていますが、Access 2010 はサポートしていません。 Access 独自の機能を使用して同様の効果を実現するにはどうすればよいですか?たとえば、次のテーブルがあるとします。

<code><h2>ID | A | B | C | Key 1 | Key 2 | Key 3</h2><p>1 | x | y | z |     3 |   199 |   452<br></br>2 | x | y | z |    57 |   234 |   452<br></br></p></code>
ログイン後にコピー

これを次のように変換します:

<code><h2>ID | A | B | C | Key</h2><p>1 | x | y | z |   3<br></br>2 | x | y | z |  57<br></br>1 | x | y | z | 199<br></br>2 | x | y | z | 234<br></br>2 | x | y | z | 452<br></br></p></code>
ログイン後にコピー

ここで、キー 452 は繰り返される値です。現在、OLEDB/ATL C で変換しています。十分な速度ですが、Access 2010 でより効率的に実行する方法にはまだ興味があります。最も効率的な SQL ステートメントは何ですか?

解決策:

次の SQL クエリを使用できます:

<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>
ログイン後にコピー

...このクエリを実行すると (テーブル例の名前が tblUnpivotSource であると仮定します)、次の結果セットが得られます:

<code><br></br>ID | A | B | C | key_field<hr></hr><p>1 | x | y | z |         3<br></br>2 | x | y | z |        57<br></br>1 | x | y | z |       199<br></br>2 | x | y | z |       234<br></br>1 | x | y | z |       452<br></br>2 | x | y | z |       452<br></br></p></code>
ログイン後にコピー

以上がMicrosoft Access 2010 で UNPIVOT をシミュレートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート