人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

SQLの初心者です。以下のデータから、哺乳類だけ(CLASSが2)を抽出したいと思います。でも、table2に画像があるならば、画像データも取り出したいと考えています。


table1
+----+--------+-------+
| ID | NAME | CLASS |
| 1 | さけ | 1 |
| 4 | くじら | 2 |
| 5 | いるか | 2 |
+----+--------+-------+

table2
+-----+----+------------+
| PID | ID | FILENAME |
| 1 | 1 | sake.jpg |
| 2 | 4 | kujira.jpg |
+-----+----+------------+

理想の結果はこのような形です。

+---+--------+------------+
| 4 | さけ | kujira.jpg |
| 5 | いるか | |
+---+--------+------------+

ですが、以下のようなSQLを書いたところ、

SELECT ID,NAME,FILENAME FROM table1,table2 WHERE table1.ID = table2.ID;


「いるか」のデータは表示しかされません。(たしかにそうなるのもわかります。)

そこで、考えているようなデータが抽出できるSQLの書き方を教えてください!

●質問者: tomohirof
●カテゴリ:インターネット ウェブ制作
✍キーワード: Class .jpg Class name SELECT
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● y-kawaz
●50ポイント

こんな感じでいかがでしょうか?

SELECT table1.id, name, filename FROM table1 LEFT OUTER JOIN table2 ON table1.id = table2.id WHERE class=2;
◎質問者からの返答

ありがとうございます。試してみます!!


2 ● chuken_kenkou
●50ポイント

理想の結果は、次の形ですよね?

+---+--------+------------+

4 くじら kujira.jpg
5 いるか

+---+--------+------------+

select table1.ID,table1.NAME,FILENAME
 from table1
 left join table2
 on table1.ID=table2.ID
 where CLASS=2
 order by table1.ID
◎質問者からの返答

ありがとうございます!

無事できました!!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ