フリーランス チャレンジ!!

読者です 読者をやめる 読者になる 読者になる

フリーランス チャレンジ!!

週休4日制に俺はなる!

【SQL】複数のテーブルを結合してレコードを1行で表示する

f:id:ksakae1216:20170303232944j:plain

みなさん、コウタロウです!!

 

今日はタイトルについて。

 

 

まずは説明

仕事で困って調べたんですが、他にも困っている人がいるかもしれないので情報共有です。

 

あるテーブルに複数のIDが格納されているんですが、そのIDと名称を表示したい要件がありました。

 

テーブルの例は下記の感じです。

【transactionテーブル】

f:id:ksakae1216:20170303230536j:plain

3種類のIDが格納されています。

 

それぞれのIDの名称が別のマスタテーブルにあります。

【masterテーブル】

f:id:ksakae1216:20170303230920j:plain

はい、こんな感じ。

 

普通に内部結合すると1行では表示されません。

gistc7860c030d4f0a9255e76f1252af6ac6

 

f:id:ksakae1216:20170303231758j:plain

 

複数のテーブルを結合して1行で表示する方法

同じテーブルを別名にすることで1行で表示することができます。

gistc60b557e6d93c0464c4cedada744d658

 

f:id:ksakae1216:20170303232527j:plain

 

ほら、それぞれのIDに紐づく名称(name)が表示されましたね。 

 

最後に

解決方法見ると簡単なんだけど、わからない時は結構時間使って調べました。

 

この方法を知ると、結構色んなことができるようになります。

同じテーブルを別名で使うのは結構便利ですよ!!