我已经使用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答案 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