我有两张桌子。一个名为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的值?
答案 0 :(得分:2)
SELECT u.user_id, u.username, s.acct_status_desc status
FROM usertbl u, accountstatustbl s
WHERE u.acct_status = s.acct_status
希望我能帮到你。
答案 1 :(得分: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
答案 2 :(得分:1)
您可以使用INNER JOIN
,假设acct_status
中的usertbl
没有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