sql >> データベース >  >> RDS >> Sqlserver

シンプルなピボットのサンプル

    SELECT MasterID, 
      [Basic Phone] = MAX([Basic Phone]),
      [Pixi] = MAX([Pixi]),
      [Blackberry] = MAX([Blackberry])
    FROM
    (
      SELECT MasterID, [Basic Phone],[Pixi],[Blackberry]
      FROM dbo.Services AS s
      PIVOT 
      (
        MAX([Status]) FOR [Type] IN ([Basic Phone],[Blackberry],[Pixi])
      ) AS p
    ) AS x
    GROUP BY MasterID;
    

    またはもっと簡単に - @YS に感謝します。私の冗長性を指摘してくれて.

    SELECT MasterID, 
      [Basic Phone],
      [Pixi],
      [Blackberry]
    FROM
    (
      SELECT MasterID, Status, Type FROM dbo.Services
    )
    AS s
    PIVOT 
    (
      MAX([Status]) FOR [Type] IN ([Basic Phone], [Blackberry], [Pixi])
    ) AS p;
    



    1. オラクルのビューとネットワークトラフィック

    2. OracleでさまざまなタイプのPL/SQLコレクションを使用する目的

    3. php / mysqlにSOと同様のタグ付けシステムを実装するにはどうすればよいですか?

    4. SQL ServerのFORMAT()でサポートされている標準の数値形式の文字列