- ぷさいくろう
- ぬし
- 会議室デビュー日: 2006/08/30
- 投稿数: 1034
|
投稿日時: 2006-09-27 16:25
外部結合すれば?
|
- uk
- ぬし
- 会議室デビュー日: 2003/05/20
- 投稿数: 1155
- お住まい・勤務地: 東京都
|
投稿日時: 2006-09-27 17:15
引用: |
|
ぷさいくろうさんの書き込み (2006-09-27 16:25) より:
外部結合すれば?
|
ああ、結合する項目の数が決まっていれば可能ですね。
でもACCESSのクエリでFULL JOINて可能でしたっけ。
|
- とんくま
- ベテラン
- 会議室デビュー日: 2005/08/02
- 投稿数: 56
- お住まい・勤務地: 東京
|
投稿日時: 2006-09-27 17:42
このような処理は、一般的に SQL では再帰処理で出来ます。
Oracle なら CONNECT TO
DB2 なら WITH .... UNION ALL
再帰処理は、どちらもマニュアルに基本的な使用例があります。
それのちょっとした応用で可能です。
|
- ぷさいくろう
- ぬし
- 会議室デビュー日: 2006/08/30
- 投稿数: 1034
|
投稿日時: 2006-09-27 23:28
引用: |
|
ところで、データベースを良く調べてみると、
項目に対してナンバリングされていることが分かりました。
つまり、
Key:Value:No
A :あいう:1
A :かきく:2
A :さしす:3
B :あいう:1
B :かきく:2
このナンバーを使えばなんとかならないかなと
思ったりしているのですが、SQLでSELECTで
取り出す内容毎にWHERE定義を行う事は
出来ないのでしょうか。これができると、
表示結果としては、
Keyx:xのNo1のValue:xのNo2のValue....
と出来るような気がするのですが、SQLで
やるにはJOINが一般的でしょうか?
|
グループ化すりゃいい
|
- ヴィニカリ
- 会議室デビュー日: 2006/09/26
- 投稿数: 5
|
投稿日時: 2006-09-28 16:10
皆様、本当に色々と助言頂き有り難うございます。
とりあえず時間が無かったので、プログラムで加工して
完成させる事が出来そうです。
完成後に、SQL再帰処理など、いくつか解決法が
ありそうなので、少し勉強してみたいと思っています。
それから、
引用: |
|
引用: |
|
もとねたはデータベースへの問い合わせ結果をCSVではき出しているのですが、一つのキーに対する項目が複数のレコードに分かれて出力されているため、これを一つのレコードにまとめて、XMLに加工する用途で考えています。
|
これを読むとテーブル設計が間違っているような気がする。本来、一レコードになる
べきものが、複数のレコードに分解されてしまっているのでは?
|
これはおっしゃる通りだと思います。
通常であれば、必要なものを1レコードに格納すべきものが、
同じテーブルの中で別のレコードに分かれている事が全ての
元凶だと思います。
設計思想というのは、先々に渡って非常に影響を及ぼす
ものだということを学びました。
どうも有り難うございました。
|