C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: 一つのテーブル内のSQL結合


(過去ログ 80 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■47613 / inTopicNo.1)  一つのテーブル内のSQL結合
  
□投稿者/ もも (1回)-(2010/03/09(Tue) 17:20:50)

分類:[データベース全般] 

SQLの結合についてお聞きしたいのですが、
たとえば
id name place
01 momo a
01 momo b
01 momo c
01 momo d

このような表があるとして、

01 momo a b c d

↑上記のようにセレクトしたいのですが、どうすればいいのでしょうか?
joinとかgroup byとかもう半日以上調べているのですが期待した結果が得られません。基礎的なことなのに出来なくて残念です><

是非皆さんのお知恵をお貸し下さい。よろしくお願いします。


引用返信 編集キー/
■47615 / inTopicNo.2)  Re[1]: 一つのテーブル内のSQL結合
□投稿者/ やじゅ (1542回)-(2010/03/09(Tue) 18:01:52)
やじゅ さんの Web サイト
No47613 (もも さん) に返信
> 01 momo a b c d

DB(Oracle,SQLServer,MySQLなど)の記述があるといいですね。
機能によっては関数があったりします。

とりあえず、「sql 行列変換」でGoogle検索してみるといいです。

引用返信 編集キー/
■47616 / inTopicNo.3)  Re[1]: 一つのテーブル内のSQL結合
□投稿者/ 囚人 (481回)-(2010/03/09(Tue) 18:03:04)
列の数を可変にするのは変な感じがするんですが、なぜそういうクエリにしたいのでしょうか?
理由がわかれば別の案があるかもしれません。
引用返信 編集キー/
■47618 / inTopicNo.4)  Re[1]: 一つのテーブル内のSQL結合
□投稿者/ 魔界の仮面弁士 (1534回)-(2010/03/09(Tue) 18:34:23)
No47613 (もも さん) に返信
> ↑上記のようにセレクトしたいのですが、どうすればいいのでしょうか?

もう少し細かい仕様が分からないと回答がぶれそうですが、
たとえば Jet の場合(mdb/accdb)であれば、

TRANSFORM FIRST(place) SELECT id, FIRST(name) FROM TBL GROUP BY id, name PIVOT place

とか。
引用返信 編集キー/
■47619 / inTopicNo.5)  Re[2]: 一つのテーブル内のSQL結合
□投稿者/ もも (2回)-(2010/03/09(Tue) 19:00:28)
みなさまありがとうございます><
それからすみません、質問の仕方が悪くて混乱させてしまいました。訂正した質問内容を記述いたします。
>やじゅ様
そういった用語もしらず悩んでいました、ありがとうございました。
行列変換で調べたらものすごい難しい分析関数が出てきて。。。簡単と思っていたのは間違いでした(泣)
分析関数を異なる2テーブル間でも使えるのかどうか今挑戦中です><
ちなみにDBはOracleSQLDeveloperです。

>囚人様
わかりにくくて申し訳ありません、図にしてみますと、
表1
id num name
01 3 momo
01 3 momo
01 3 momo
表2
num place
3 a
3 b
3 c

希望結果
01 3 momo a b c

というふうにセレクトしたいのですが、もう何をどうしたらいいか混乱しています。

>魔界の仮面弁士
ありがとうございます、参考にさせていただきます。


引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -