特定の行のみが列になるようにデータベースをピボットしようとしています。以下は私のテーブルには、次のようになります。SQLピボットのみ行を選択する
ID QType CharV NumV
1 AccNum 10
1 EmpNam John Inc 0
1 UW Josh 0
2 AccNum 11
2 EmpNam CBS 0
2 UW Dan 0
私はこのようにするためにテーブルをしたいと思います:
私は、私が説明するためにしようとしています二つの主要な問題を抱えています。
1番目:取得しようとしている値が必ずしも同じ列にあるとは限りません。 AccNumは常にNumV列にありますが、EmpNameは常にCharV列にあります。
第2回:私が望まないデータを無視する方法を見つける必要があります。この例では、QType列にUWの行があります。以下は
は、私が持っているコードです:SELECT *
FROM testTable
Pivot(
MAX(NumV)
FOR[QType]
In ([AccNum],[TheValue])
)p
をしかし、それは私に、以下の結果を与えている:動作するはずの条件付き集約してグループ化する。この場合
ID CharV AccNum TheValue
1 10 NULL
2 11 NULL
2 CBS NULL NULL
2 Dan NULL NULL
1 John IncNULL NULL
1 Josh NULL NULL
ありがとう、これは完璧に機能しました!私はあなたに私が欲しいと思ったものではなく、最も簡単で簡単な答えを私に与えてくれてありがとう。 –