こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

mysqlでのsql文

石井と申します。
下記のデータの状態をもとに
お答えをお願いします。

まず、tb_userというテーブルが

id | name | age | hobby | tokugi | insert_dt
--------------------------------------------
1 | 北野 | 31 | 0101 | 0202 | 2005/6/12

という状態で、
tb_categoryというテーブルが以下のような状態になっています。

category_no | category_cd | subcategory_cd | name
--------------------------------------------
0100 | 01 | 00 | 趣味
0101 | 01 | 01 | 映画鑑賞
0102 | 01 | 02 | スキー
0200 | 02 | 00 | 特技
0201 | 02 | 01 | 早食い
0202 | 02 | 02 | 早起き

※subcategory_cdが00のとき、大項目という扱いで
subcategory_cdが00以外のとき、
category_cdが同じ範囲で、
大項目に属する小項目という扱いにしています。

このとき、
『北野、映画鑑賞、早起き』というデータを1行で取得したいのですが、
select a.name, b.name from tb_user a, tb_category b where a.hobby=b.category_no or a.tokugi=b.category_no;

というsqlで良いでしょうか?
手元にSQLを実行できる環境がないもので、確認させてください。

投稿日時 - 2005-06-23 15:19:55

QNo.1468213

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

この場合、同じテーブルを2度定義する必要があると思います。

select a.name,b.name,c.name
from tb_user as a,tb_category as b,tb_category as c
where a.hobby=b.category_no
and a.tokugi=c.category_no;

実際に実行してないので検証はしてませんが・・・。

投稿日時 - 2005-06-23 15:28:27

あなたにオススメの質問