1
私はこのようなテーブルがあります。列の値に基づいて1つの列に複数の列の表を表示するにはどうすればよいですか?
今、私は以下のように、これらのデータを表示することができ、クエリを書きたい:
私はこれをどのように行うことができますか?誰でも助けてくれますか?このクエリを記述するために
私はこのようなテーブルがあります。列の値に基づいて1つの列に複数の列の表を表示するにはどうすればよいですか?
今、私は以下のように、これらのデータを表示することができ、クエリを書きたい:
私はこれをどのように行うことができますか?誰でも助けてくれますか?このクエリを記述するために
SELECT Grade AS ISG,
P1AR, P1SM1, P1SM2,
P2AR, P2SM1, P2SM2,
P3AR, P3SM1, P3SM2
FROM
(
SELECT Grade,
col = 'P' + CAST(Process AS NVARCHAR) +col,
value
FROM yourTable
CROSS APPLY
(
VALUES
('AR', AR),
('SM1', SM1),
('SM2', SM2)
) c(col, value)
) d
PIVOT
(
MAX(value)
FOR col IN (P1AR, P1SM1, P1SM2,
P2AR, P2SM1, P2SM2,
P3AR, P3SM1, P3SM2)
) piv
別の方法である:これは、より良いプレゼンテーション層で解決され
SELECT
a.Grade AS ISG,
a.AR AS P1AR,
a.SM1 AS P1SM1,
a.SM2 AS P1SM2,
b.AR AS P2AR,
b.SM1 AS P2SM1,
b.SM2 AS P2SM2,
c.AR AS P3AR,
c.SM1 AS P3SM1,
c.SM2 AS P3SM2
FROM yourTable a
INNER JOIN yourTable b
ON a.Grade = b.Grade
INNER JOIN yourTable c
ON a.Grade = c.Grade
where a.Process = 1 and
b.Process = 2 and
c.Process = 3
... SQL-Serverは、* *列グループでResultSetを許可しない、のようなものを持っていますa *メタヘッダ* ...(少なくとも埋め込みコンテキストでこの結果セットを使用する場合は),,,,,,,,同じ列名を繰り返し使用することはできません。 – Shnugo
** **:写真を挿入しないでください!誰かがあなたを手伝ってくれると思ったら、手動でデータを入力しなければなりませんでした。 [MCVEの作成方法](http://stackoverflow.com/help/mcve/) – Shnugo
@Shnugoありがとうございました。私の質問について知っていれば、ヘッダーを削除し、私に答えてください。私はちょうどヘッダーではなく、データを必要とします – Mohsen