MySQL:从其他表中获取与id匹配的数据

Tre*_*rez 0 php mysql

我有一个名为'company'和'user'的表.用户表包含公司的ID.例如:

A. User table

user_id | name | company_id |status
1       | john |    1       | active

B. Company table

company_id | name | status
1          | ABC  | active
Run Code Online (Sandbox Code Playgroud)

如何在单个sql查询中通过其id获取公司名称.这样;

$query = "SELECT name as Username, company_id as Company_Name From `user` where status='active'";
Run Code Online (Sandbox Code Playgroud)

这将得到以下结果:

Username | Company_Name
  john   | ABC
Run Code Online (Sandbox Code Playgroud)

关于如何做到这一点的任何帮助或想法...在此先感谢.

Ign*_*ams 10

SELECT u.name AS Username, c.name AS Company_Name
FROM User AS u
INNER JOIN Company AS c
  ON u.company_id = c.company_id
WHERE u.status = 'active'
  AND c.status = 'active'
Run Code Online (Sandbox Code Playgroud)

如果它们没有意义,请随意删除WHERE子句中的一个或两个表达式.

  • 我坚持使用Ignacio的答案:他使用的联接比双查询解决方案更有效. (7认同)