- PR -

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

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

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個用意しています。

拙い説明で申し訳ないですが、よろしくお願いします。
カドルドエグ
常連さん
会議室デビュー日: 2008/05/29
投稿数: 25
投稿日時: 2008-07-30 16:26
同じ項目のまま1行にまとめて持ってきたい場合は、
SELECT 項目1,
項目2,
項目2
FROM テーブル
で持ってこれますが、流石に無条件はないと思うので、

SELECT 項目1,
CASE 条件の基準となる箇所 WHEN 条件 THEN 値 ELSE (別の)値 END AS 項目2A,
CASE 条件の基準となる箇所 WHEN 条件 THEN 値 ELSE (別の)値 END AS 項目2B
FROM テーブル

といった形で(簡単な条件なら)持ってこれますが、質問文だけでは条件がわからないため、
果たしてこれだけで可能かどうかはわかりません。
また、偶数行だけ3列目がない理由は何でしょう?NULLを意味しているのでしょうか?
rain
ぬし
会議室デビュー日: 2006/10/19
投稿数: 549
投稿日時: 2008-07-30 17:36
次回へ続く。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=45816&forum=26
1

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