MySQL-在同一选择查询中从表中检索不同的数据

时间:2018-08-06 16:55:06

标签: mysql

我已经使用Stack Overflow多年了,但这是我第一次找不到答案。

我正在尝试使用4个表在MySQL中构建查询

名称用户管理员操作

操作表具有 actions_id admin_id user_id action

用户表具有 user_id name_id

admin 表具有 admin_id name_id

名称表具有 name_id 名字 _last_name

我想做的是显示操作的内容,将 user_id admin_id 替换为 first_name 通过 admin user

链接 name_id 的strong>和 last_name

1 个答案:

答案 0 :(得分:0)

您必须使用join将所有表关联在一起

select t1.action,n.first_name as user_FirstName,n.last_name as user_LastName,
    n1.first_name as adminFirstname,n1.last_name as AdminLastName from 
    (
    select a.action,ad.name_id as adnameid,u.name_id as unameid from actions  a inner join user  u on a.user_id=u.user_id
    inner join admin  ad on a.admin_id =ad.admin_id 
    ) as t1 inner join name  n on t1.unameid =n.name_id
    inner join name n1 on t1.adnameid=n1.name_id