MYSQLのクエリまたはビューについて教えてください。


TABLE_AとTABLE_Bがあります。

TABLE_Aのフィールドは、
・ID
・NAME
・NAME2

TABLE_Bのフィールドは、
・ID
・KEIJO
・KEIJO2

とあります。IDでINNER JOINします。

欲しい欲しい表は下記のフィールド、順番で欲しいです。
・ID
・NAME
・NAME補足1
・NAME補足2
・KEIJO

NAME補足1には「コメント」、NAME補足2は空文字をセットしたいです。
ID、NAME、KEIJOはselect文で持ってくることができるのはわかります。
ただ、NAME補足1や2はフィールド上にありません。テーブルに無い列をSELECTで持ってくることができるでしょうか?

何が最終的にやりたいというと、一つの表をつくって、その表をCSVエクスポートしたいと考えています。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2011/04/05 17:13:19
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:JULY No.1

回答回数966ベストアンサー獲得回数247

ポイント60pt
select TABLE_A.ID as ID, NAME, 'コメント' as NAME補足1, '' as NAME補足2, KEIJO
from TABLE_A inner join TABLE_B on (TABLE_A.ID and TABLE_B.ID)

固定の文字列に対して、「as」でフィールド名を与えています。

id:popattack

やりたいことができました!!ありがとうございます!!

2011/04/05 17:13:11
  • id:JULY
    「コメント」は、フィールドの値が常に「コメント」という文字列になる、という意味でしょうか?
  • id:popattack
    JULYさん
    いえ、単純に「コメント」という文字列です。ただ単に同一の文字列をそのフィールドにセットしたかったので、コメントでも、どういった文字列でも問題ありません。
  • id:JULY
    あっ、間違った(^^;。

    回答にある SQL で inner join の条件文が間違っています。
    正しくは

      TABLE_A.ID = TABLE_B.ID

    です。
  • id:sayo221sayo
    コメントを投稿することで回答欄をオープンさせようという戦術だな
    http://q.hatena.ne.jp/1301565503

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません