如何使用内连接通过存储在另一个表中的ID从一个表中获取用户名

时间:2011-08-10 14:53:00

标签: mysql inner-join

我有两张桌子。
表作业将具有存储在added_by字段中的用户ID 表用户将使用用户名存储用户名。

我想通过匹配added_by字段中的id与用户字段中的id来选择用户名。

感谢您提供的任何帮助。

这是工作表

Field   Type    Null    Key Default Extra
id  int(11) NO  PRI NULL    auto_increment
title   varchar(255)    NO      NULL    
description text    NO      NULL    
priority    int(1)  NO      1   
added_by    int(11) NO      NULL    
added_on    time    NO      NULL    
completed   int(3)  NO      0   
date_completed  timestamp   NO      0000-00-00 00:00:00 

这是用户字段

id  int(11) NO  PRI NULL    auto_increment
username    varchar(30) NO  MUL NULL    
password    varchar(32) NO      NULL    
email   varchar(255)    NO      NULL    
level   int(1)  NO      NULL    

4 个答案:

答案 0 :(得分:2)

select j.title, u.username from jobs j left join users u on u.id=j.added_by

答案 1 :(得分:1)

SELECT T1.*, T2.username FROM jobs AS T1 INNER JOIN users AS T2 ON T1.added_by=t2.id

这样的事情应该可以解决问题。

答案 2 :(得分:1)

您必须在结果表中指定所需内容。以下内容仅检索其表中具有与jobs表中的“added_by”字段匹配的ID的用户名。结果将仅显示用户名。

SELECT table_users.*,table_jobs.* FROM users AS table_users
     INNER JOIN ( SELECT added_by FROM jobs) AS  table_jobs
     ON table_users.id = table_jobs.added_by

答案 3 :(得分:1)

SELECT U.username
FROM users U
INNER JOIN jobs J on (J.added_by = U.id)