![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
データデータベース(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』
の場合エラーはでません。
No.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というのは、タイトル→データの順序保証をするために加えています。
No.1
- 回答日時:
「式 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 '好きな食べ物'」としたい
というわけなのです、どうすればいいのでしょうか?
データベースの作りを変えないとだめですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- その他(プログラミング・Web制作) pandasでまとめてインデックスを削除するにはどうすればいいですか? たとえば、以下のプログラムで 1 2022/07/31 23:09
- Visual Basic(VBA) 【VBA】Excelの特定範囲のセルを画像で保存したい 2 2023/01/25 13:06
- PostgreSQL SQLで検索結果の記事を表示したい 1 2022/04/28 21:03
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Access(アクセス) 実行時エラー3131 FROM 句の構文エラーです について 7 2022/06/13 15:45
- Visual Basic(VBA) Sheet2の日付をキーにオートフィルターで2023年1月のデータを抽出し、Sheet3へ書き出すた 2 2023/03/06 23:57
- Visual Basic(VBA) エクセル VBA 処理スピードを上げたいのですが。 6 2023/03/31 20:52
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- MySQL SQLです。下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「昨年の各月の総降 1 2023/07/01 00:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
市区町村と番地を分けたいので...
-
1列おきに合計、a1 + c1 + e1 …
-
1、Rstudioで回帰直線を求める...
-
差し込み後、元データを変更し...
-
外部参照してるキーを主キーに...
-
excel2013 MonthDays 関数が使...
-
SELECT 文 GROUP での1件目を...
-
datetime型でNULL値を入れたい。
-
EXISTSを使ったDELETE文
-
エクセルで最後の文字だけ置き...
-
for whichの使い方
-
SQLで特定の項目の重複のみを排...
-
フィルターかけた後、重複を除...
-
重複していないレコードの抽出...
-
副問合せの書き方について
-
エクセルの関数について教えて...
-
カーソル0件の時にエラーを発生...
-
INSERT文でフィールドの1つだ...
-
処理件数を非表示にしたい
-
SQLServerで文字列の末尾からあ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
市区町村と番地を分けたいので...
-
SQL 四分位を組み込む
-
調和平均とはなんですか?
-
『select data1 as
-
1列おきに合計、a1 + c1 + e1 …
-
差し込み後、元データを変更し...
-
外部参照してるキーを主キーに...
-
フィルターかけた後、重複を除...
-
エクセルで最後の文字だけ置き...
-
SELECT 文 GROUP での1件目を...
-
1、Rstudioで回帰直線を求める...
-
for whichの使い方
-
カーソル0件の時にエラーを発生...
-
SQLで特定の項目の重複のみを排...
-
EXISTSを使ったDELETE文
-
datetime型でNULL値を入れたい。
-
SQLServerで文字列の末尾からあ...
-
1日に1人がこなせるプログラム...
-
列のヘッダーを含めるのをデフ...
-
INSERT文でフィールドの1つだ...
おすすめ情報