- PR -

SQLserverのSELECT文で2行を1行に。

1
投稿者投稿内容
未記入
会議室デビュー日: 2008/07/30
投稿数: 2
投稿日時: 2008-07-30 17:20
お世話になっております。

SQLserverのSELECT文で複数行を1行にしたのですが出来るのでしょうか?

例:1レコード目:項目1=1,項目2=100
  2レコード目:項目1=1,項目2=200
  3レコード目:項目1=1,項目2=300
  4レコード目:項目1=2,項目2=400
  5レコード目:項目1=2,項目2=500
  6レコード目:項目1=3,項目2=600

これを↓
  1レコード目:項目1=1,項目2=100,項目2=200
  2レコード目:項目1=1,項目2=300
  3レコード目:項目1=2,項目2=400,項目2=500
  4レコード目:項目1=3,項目2=600

補足:項目1がキーとなります。
1行にした場合項目2が入る項目を2個用意しています。

拙い説明で申し訳ないですが、よろしくお願いします。
rain
ぬし
会議室デビュー日: 2006/10/19
投稿数: 549
投稿日時: 2008-07-30 17:36
前回までのあらすじ。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=45813&forum=26

でもって過去によく似た質問が。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=30707&forum=26&7
KOX
大ベテラン
会議室デビュー日: 2004/08/23
投稿数: 142
投稿日時: 2008-07-30 19:01
はじめに断わっておきますが、DB側で行うべきことではないと思います。
で、
ポイントは、1行に含まれる項目2は2個までで、3個あったら2行目ができると。
(あってるかな?)

で直接的な回答ではないですが・・・
1.項目1単位で連番をふり、奇数行、偶数行のテーブルを作る。
2.この二つをぶつける。outer join
  奇数行tbl.項目1=偶数行tbl.項目1 and 奇数行tbl.連番+1=偶数行tbl.連番
3.以上

#うまくいくかな?試していないし、試す気もないですが・・・
1

スキルアップ/キャリアアップ(JOB@IT)