SQL Server 2000 でデータをピボットする方法
SQL Server 2000 を使用してデータをよりピボット構造の形式に変換するという課題に直面する?動的 SQL と非効率的なアプローチの落とし穴を回避し、データ操作の精度と効率を確保するソリューションを詳しく見てみましょう。
問題を理解する
次の 2 つがあると想像してください。テーブル: 製品情報を含む製品と、各製品の追加メタデータを提供する製品メタ。目標は、データをピボットして表形式で表示し、製品名と対応するメタデータ値を表示する結果セットを作成することです。
解決策
この変換を実現するには、GROUP BY 内の集計関数と組み合わせて CASE 式を利用します。句:
SELECT P.ProductId, P.Name , MIN(CASE WHEN PM.MetaKey = 'A' THEN PM.MetaValue END) AS A , MIN(CASE WHEN PM.MetaKey = 'B' THEN PM.MetaValue END) AS B , MIN(CASE WHEN PM.MetaKey = 'C' THEN PM.MetaValue END) AS C FROM Products AS P JOIN ProductMeta AS PM ON PM.ProductId = P.ProductId GROUP BY P.ProductId, P.Name
説明
このアプローチを利用すると、SQL Server 2000 でデータを効果的にピボットすることができ、動的 SQL の制限を回避し、変換に適合するクリーンで使用可能な結果セットを生成できます。要件。
以上が動的 SQL を使用せずに SQL Server 2000 でデータをピボットする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。