0

私は2つのテーブルを持っています。1 つは、列 user_id、user_name、および acct_status を持つ usertbl という名前です。acct_status 値の可能な値は、0、1、2、3 です。acct_statustbl という名前の別のテーブルには、acct_status と acct_status_desc という列があり、acct_status = 0、acct_status_desc = 登録済み、1 = アクティブ、2 = 非アクティブ、3 = の場合の値が含まれます。無効化されました。さて、次の出力を提供するためにデータベースにクエリを実行する方法は次のとおりです。

user_id     user_name     status
0000000     user1         enrolled
1234567     user2         active
9999999     user3         deactived

値 0、1、および 3 を与える代わりに?

4

3 に答える 3

2
SELECT u.user_id, u.username, s.acct_status_desc status 
FROM usertbl u, accountstatustbl s
WHERE u.acct_status = s.acct_status

私が助けてくれることを願っています。

于 2013-05-08T02:00:07.657 に答える
2

これを試すことができます。

SELECT user.user_id, user.user_name, status.description
FROM usertbl user left outer join accountstatustbl status
on user.acct_status=status.acct_status
于 2013-05-08T02:00:22.697 に答える
1

inに値がないINNER JOINと仮定して使用できます。acct_statususertblNULL

SELECT a.user_id, 
       a.user_name, 
       b.status_desc AS status 
FROM   usertbl a 
       INNER JOIN accountstatustbl b 
               ON b.acct_status = a.acct_status 

また、 MySQL JOIN 構文について読んで、詳細を理解することもできます。joins

于 2013-05-08T02:09:18.463 に答える