2014年2月15日土曜日

【SQLSERVER】関連性のない項目同士を同一行で抽出したい

関連性のない項目同士を同一行で抽出したい場合等。
Row_Numuberを使用して表示したい順に連番を設定し、連番で結合する。連番はPKとなる。

◆データXXX
 col1
 ------------
 A
 B
◆データXXX2
col2
------------



◆サンプル
select XXX.col_key ,xxx.col1 ,xxx2.col1
   from (
             select row_number () over (order by col1) as col_key ,col1 from XXX
            ) XXX
inner join
            (
             select row_number () over (order by col1) as col_key ,col1 from XXX2
            ) XXX2
      on XXX.col_key = XXX2.col_key

◆結果
col_key col1 col2
---------------------
1  A あ
2  B い

# いずれか一方がないばあいも取得したい場合は結合条件をfull joinを指定する。

0 件のコメント:

コメントを投稿