-2
私は2つの列を持つテーブルテストを持っています。行の値をSQLの列として取得する方法は?
Id Value
1 A
1 B
1 C
私はSQL Serverでこれを行ってはどうすればよい
Id Value1 Value2 value3
1 A B C
、以下のような結果を取得したいです。
私は2つの列を持つテーブルテストを持っています。行の値をSQLの列として取得する方法は?
Id Value
1 A
1 B
1 C
私はSQL Serverでこれを行ってはどうすればよい
Id Value1 Value2 value3
1 A B C
、以下のような結果を取得したいです。
これはピボットですが、ピボットの列はありません。 row_number()
がそれを提供することができます。私は通常このために条件付き集計を使用します。
select id,
max(case when seqnum = 1 then value end) as value1,
max(case when seqnum = 2 then value end) as value2,
max(case when seqnum = 3 then value end) as value3
from (select t.*,
row_number() over (partition by id order by (select null)) as seqnum
from t
) t
group by id;
SQLテーブルが順序付けられていないセットを表すことに注意してください。したがって、注文に関する情報はなく、値は任意の順序で指定できます。列で注文が指定されている場合は、select null
ではなく、order by
に含めます。
これは何時でも何時でも答えられています。新しい質問を投稿する前にそのような質問を見てください。 –
あなたは、文字通りあなたの投稿タイトルを持って、Googleに入れて、最初のリンクをクリックすることができます。 – dfundako