ソース掲示板




すべてから検索

キーワード   条件 表示 現行ログ 過去ログ トピックス 名前 本文

  メンテナンス 前画面に戻る

対象スレッド 件名: 複数行のグループデータを1行にまとめるSQL
名前: lightbox
処理選択
パスワード

件名 複数行のグループデータを1行にまとめるSQL
名前 lightbox
コメント
[[MySQL]]
@DIV
CREATE TABLE `data` (
  `コード` int(11) NOT NULL DEFAULT '0',
  `行` int(11) NOT NULL DEFAULT '0',
  `内容` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`コード`,`行`)
)
@END

@HTML
<b>↓データ</b>
<TABLE class="LboxTable" border="0" cellspacing="1" bgcolor="#000000">
<TR class="LboxTr"><TH class="LboxTh" bgcolor="#C0C0C0" nowrap>コード</TH><TH class="LboxTh" bgcolor="#C0C0C0" nowrap>行</TH><TH class="LboxTh" bgcolor="#C0C0C0" nowrap>内容</TH></TR>
<TR class="LboxTr"><TD class="LboxTd" bgcolor="#FFFFFF" nowrap>1</TD><TD class="LboxTd" bgcolor="#FFFFFF" nowrap>1</TD><TD class="LboxTd" bgcolor="#FFFFFF" nowrap>あああ</TD></TR>
<TR class="LboxTr"><TD class="LboxTd" bgcolor="#FFFFFF" nowrap>1</TD><TD class="LboxTd" bgcolor="#FFFFFF" nowrap>2</TD><TD class="LboxTd" bgcolor="#FFFFFF" nowrap>いいい</TD></TR>
<TR class="LboxTr"><TD class="LboxTd" bgcolor="#FFFFFF" nowrap>1</TD><TD class="LboxTd" bgcolor="#FFFFFF" nowrap>3</TD><TD class="LboxTd" bgcolor="#FFFFFF" nowrap>ううう</TD></TR>
<TR class="LboxTr"><TD class="LboxTd" bgcolor="#FFFFFF" nowrap>2</TD><TD class="LboxTd" bgcolor="#FFFFFF" nowrap>1</TD><TD class="LboxTd" bgcolor="#FFFFFF" nowrap>大阪</TD></TR>
<TR class="LboxTr"><TD class="LboxTd" bgcolor="#FFFFFF" nowrap>2</TD><TD class="LboxTd" bgcolor="#FFFFFF" nowrap>2</TD><TD class="LboxTd" bgcolor="#FFFFFF" nowrap>北海道</TD></TR>
<TR class="LboxTr"><TD class="LboxTd" bgcolor="#FFFFFF" nowrap>2</TD><TD class="LboxTd" bgcolor="#FFFFFF" nowrap>3</TD><TD class="LboxTd" bgcolor="#FFFFFF" nowrap>沖縄</TD></TR>
</TABLE>

<b>↓加工後</b>
<TABLE class="LboxTable" border="0" cellspacing="1" bgcolor="#000000">
<TR class="LboxTr"><TH class="LboxTh" bgcolor="#C0C0C0" nowrap>コード</TH><TH class="LboxTh" bgcolor="#C0C0C0" nowrap>内容1</TH><TH class="LboxTh" bgcolor="#C0C0C0" nowrap>内容2</TH><TH class="LboxTh" bgcolor="#C0C0C0" nowrap>内容3</TH></TR>
<TR class="LboxTr"><TD class="LboxTd" bgcolor="#FFFFFF" nowrap>1</TD><TD class="LboxTd" bgcolor="#FFFFFF" nowrap>あああ</TD><TD class="LboxTd" bgcolor="#FFFFFF" nowrap>いいい</TD><TD class="LboxTd" bgcolor="#FFFFFF" nowrap>ううう</TD></TR>
<TR class="LboxTr"><TD class="LboxTd" bgcolor="#FFFFFF" nowrap>2</TD><TD class="LboxTd" bgcolor="#FFFFFF" nowrap>大阪</TD><TD class="LboxTd" bgcolor="#FFFFFF" nowrap>北海道</TD><TD class="LboxTd" bgcolor="#FFFFFF" nowrap>沖縄</TD></TR>
</TABLE>
@HEND

[[SQL]]
@DIV
select 
	コード
	,max(case 行 
	when 1 then 内容
	else null
	end) as 内容1
	,max(case 行 
	when 2 then 内容
	else null
	end) as 内容2
	,max(case 行 
	when 3 then 内容
	else null
	end) as 内容3
 from data
 group by コード
@END