dポイントプレゼントキャンペーン実施中!

データデータベース(DataDB)
memberNo|memberName|data1|data2

タイトルデータベース(TitleDB)
Title1|Title2

という二つのデータベースがあったとして
これをセレクト文で表にする時に、
data1とdata2のタイトルはTitleDBの1,2の内容をタイトルにしたいと思っています。

そこで以下のように記述してみましたが、エラーがでてしまいます。
『select memberNo as '会員番号',memberName as '会員名',data1 as TitleDB.Title1 ,data2 as TitleDB.Title2 from dataDB,TitleDB』

どのように実現すればよいのでしょうか?

※『select memberNo as '会員番号',memberName as '会員名',data1 as 'データ1' ,data2 as 'データ2' from dataDB,TitleDB』
の場合エラーはでません。

A 回答 (2件)

#1回答者です。



何となく、やりたいことが分かりました。
TitleDBの内容をヘッダのように表示し、それ以降にDataDBの内容を表示したいということですね?

UNIONを使う方法が、簡単だと思います。

(1)表定義&データ例
create table TitleDB
(Title1 varchar(50),
Title2 varchar(50));
create table DataDB
(memberNo char(5),
memberName varchar(20),
data1 varchar(50),
data2 varchar(50));

insert into TitleDB values('好きな食べ物','好きな飲み物');
insert into DataDB values('0001','田中','ばなな','コーラ');
insert into DataDB values('0002','鈴木','りんご','ビール');

(2)検索SQL例
select
0 as SortKey,'会員番号' as 会員番号,'会員名' as 会員名,Title1 as タイトル1,Title2 as タイトル2
from TitleDB
union
select 1 as SortKey,memberNo,memberName,data1,data2
from DataDB
order by SortKey
;

この検索により、1行目にタイトル情報、それ以降にデータが検索できます。
SortKeyというのは、タイトル→データの順序保証をするために加えています。
    • good
    • 0
この回答へのお礼

ありがとうございました
やってみまーす!

お礼日時:2006/08/08 10:36

「式 as 別名」は、列や式に別名を付けるものであって、ここに「表名.列名」は書けないし、書く意味がありません。



二つの表を結合する条件もないので、期待する検索結果は得られないと思いますよ?

DataDB表とTitleDB表を関連付ける方法は、何なのでしょうか?
data1列、data2列とTitle1列、Title2列には、それぞれ同じ値が入っているのですか?
→そうなら、結合すること自体不要。

どのデータとどのタイトルを結合するのか、という情報が必要です。

この回答への補足

data1列、data2列はいわゆる『内容』が入っていまして
Title1列、Title2列には、上記の内容に対する表題が入っています。

このデータは、自由項目という意味をもってまして、
Aさんの顧客管理データベースでは、ここに、
Title1列⇒備考
data1列⇒備考の内容
Title2⇒好きなゲーム
data2⇒ドラクエ

Bさんの顧客管理データベースでは、はここに
Title1列⇒好きな食べ物
data1列⇒ばなな
Title2⇒好きな飲み物
data2⇒コーラ

AさんとBさんは別のデータベースになります。

Bさんのデータベースで表を作りたい時
○データデータベース(DataDB)
会員番号|会員名|データ1|データ2
00001|田中|ばなな|コーラ
00002|鈴木|りんご|ビール
○タイトルデータベース(TitleDB)
タイトル1|タイトル2
好きな食べ物|好きな飲み物

こういったデータベースになり、この『好きな食べ物』と『好きな飲み物』をタイトルとして使用して取得したいのです。

※タイトルにしたい理由は
 ・取得したデータをプログラムで表としてそのまま貼り付けたい。
 ・並べ替えを行なうときに 「order by '好きな食べ物'」としたい

というわけなのです、どうすればいいのでしょうか?
データベースの作りを変えないとだめですか?

補足日時:2006/07/25 10:20
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!