1

http://sqlfiddle.com/#!3/e4891/1

上記の結果のクエリ(データをピボットする)について、もう1つの選択条件を実行したいと思います。

例えば

「上記のピボットされたクエリ結果」から (C1 & C2) を選択</p>

それは可能ですか?CTEはここで役立ちますか?SQL Server 2008 以降。

4

2 に答える 2

1

これを試して:

WITH Data AS 
(
  select *
 from 
 (
    select MemId, Condition_id, condition_result
    from t
 ) x
 pivot
 (
    sum(condition_result)
    for condition_id in ([C1], [C2], [C3], [C4])
 ) p
)
SELECT C1, C2
  FROM Data

SQLFiddle: http://sqlfiddle.com/#!3/e4891/3

于 2012-07-25T20:30:07.707 に答える
0

必要なフィールドのみを選択するように選択を変更します。

select [C1], [C2]
  from 
  (
      select MemId, Condition_id, condition_result
      from t
  ) x
  pivot
  (
      sum(condition_result)
      for condition_id in ([C1], [C2], [C3], [C4])
  ) p

また

;with cte
as
(
  select *
  from 
  (
      select MemId, Condition_id, condition_result
      from t
  ) x
  pivot
  (
      sum(condition_result)
      for condition_id in ([C1], [C2], [C3], [C4])
  ) p
)
select [C1], [C2]
from cte
于 2012-07-25T20:31:13.430 に答える