0

我有两张桌子。一个名为 usertbl,包含 user_id、user_name 和 acct_status 列。acct_status 值的可能值为 0、1、2、3。另一个名为 accountstatustbl 的表具有以下列 - 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

您可以使用INNER JOIN假设acct_statusinusertbl没有NULL值:

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 Syntax以了解更多关于joins

于 2013-05-08T02:09:18.463 回答