ホームページ > データベース > mysql チュートリアル > 集計関数を使用せずに T-SQL PIVOT 操作を実行する方法

集計関数を使用せずに T-SQL PIVOT 操作を実行する方法

Mary-Kate Olsen
リリース: 2025-01-20 09:51:09
オリジナル
961 人が閲覧しました

How to Perform a T-SQL PIVOT Operation Without Aggregate Functions?

集計関数を使用しない T-SQL PIVOT 操作

通常、集計関数が必要な PIVOT 操作とは異なり、PIVOT 変換は集計関数を使用せずに実行することもできます。これは、集約を行わずにデータの再構築が必要な特定のシナリオで発生する可能性があります。

次の形式を考えてみましょう:

CustomerID DBColumnName Data
1 FirstName Joe
1 MiddleName S
1 LastName Smith
1 Date 12/12/2009
2 FirstName Sam
2 MiddleName S
2 LastName Freddrick
2 Date 1/12/2009
3 FirstName Jaime
3 MiddleName S
3 LastName Carol
3 Date 12/1/2009

目標は、このデータを次の結果にピボットすることです:

CustomerID FirstName MiddleName LastName Date
1 Joe S Smith 12/12/2009
2 Sam S Freddrick 1/12/2009
3 Jaime S Carol 12/1/2009

集計関数を使用せずに PIVOT を使用してこれを実現するには、次のクエリを使用できます:

<code class="language-sql">SELECT CustomerID,
       MIN(CASE DBColumnName WHEN 'FirstName' THEN Data END) AS FirstName,
       MIN(CASE DBColumnName WHEN 'MiddleName' THEN Data END) AS MiddleName,
       MIN(CASE DBColumnName WHEN 'LastName' THEN Data END) AS LastName,
       MIN(CASE DBColumnName WHEN 'Date' THEN Data END) AS Date
FROM table
GROUP BY CustomerId;</code>
ログイン後にコピー

このクエリは、PIVOT 操作で case ステートメントを実行し、指定された CustomerID の各 DBColumnName の最小値を選択します。 CustomerID と DBColumnName の組み合わせごとにデータが 1 行しかないため、MIN 関数は必要な値を返します。

以上が集計関数を使用せずに T-SQL PIVOT 操作を実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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