1. ホーム
  2. sql-server

[解決済み] SQL Server: 文字列データのPIVOT化の例

2022-07-09 15:38:50

質問

SQL Server PIVOT の簡単な例をいくつか見つけようとしています。 私が見つけた例のほとんどは、数字を数えたり合計したりするものでした。 私はいくつかの文字列データをピボットしたいだけです。 たとえば、次のようなクエリを返します。

Action1 VIEW  
Action1 EDIT  
Action2 VIEW  
Action3 VIEW  
Action3 EDIT  

PIVOTを使って(可能であれば)このような結果にしたいのですが。

Action1 VIEW EDIT  
Action2 VIEW NULL  
Action3 VIEW EDIT  

PIVOT機能でこんなことも可能なのでしょうか?

どのように解決するのですか?

MAX集約関数は、数値だけでなくテキストでも動作することを忘れないでください。このクエリでは、テーブルを一度だけスキャンする必要があります。

SELECT Action,
       MAX( CASE data WHEN 'View' THEN data ELSE '' END ) ViewCol, 
       MAX( CASE data WHEN 'Edit' THEN data ELSE '' END ) EditCol
 FROM t
 GROUP BY Action