Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL-在同一个select查询中从表中检索不同的数据_Mysql - Fatal编程技术网

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

MySQL-在同一个select查询中从表中检索不同的数据,mysql,Mysql,多年来我一直在使用堆栈溢出,但这是我第一次找不到答案 我正在尝试使用4个表在MySQL中构建一个查询 名称、用户、管理员、操作 actions表包含actions\u id、admin\u id、user\u id和action列 用户表具有user\u id和name\u id列 admin表有admin\u id和name\u id列 name表有name\u id、first\u name和last\u name列 我想做的是显示操作的内容,通过admin和user将user_id和adm

多年来我一直在使用堆栈溢出,但这是我第一次找不到答案

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

名称、用户、管理员、操作

actions表包含actions\u id、admin\u id、user\u id和action列

用户表具有user\u id和name\u id列

admin表有admin\u id和name\u id列

name表有name\u id、first\u name和last\u name列

我想做的是显示操作的内容,通过admin和user将user_id和admin_id替换为链接名称的first_name和last_name_id

您必须使用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

请添加您的查询尝试;你肯定试过什么了。从actions,user,admin,NAME WHERE actions.user\u id=user.user\u id和actions.admin\u id=admin.admin\u id和NAME.NAME\u id=user.NAME\u id;如果我尝试添加将名称表链接到admin.name_id的任何操作,我会发现QueryTanks的问题,这是可行的,尽管我必须在取消隔离和操作之间添加一个from,但是否仍要显示操作表中的其余列?@DaB00m是的,有一种方法只需选择这些列即可显示?我尝试使用*替换或在中添加特定列,但没有效果选择t1.action,n.first\u name作为user\u FirstName,n.last\u name作为user\u LastName,n1.first\u name作为adminFirstname,n1.last\u name作为AdminLastName从选择a.action,ad.name\u id作为adnameid,u、 name_id作为unaid来自a.user上的内部连接用户u.user_id=u.user_id内部连接管理ad on a.admin_id=ad.admin_id作为t1内部连接名称n on t1.unaid=n.name_id内部连接名称n1 on t1.adnameid=n1.name_id@DaB00m你能告诉我你在哪里遇到了障碍吗?或者你可以通过这个链接创建你的表格和数据,我将根据这个链接帮助你