Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.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 两次加入同一个表_Mysql_Sql_Select_Join_Alias - Fatal编程技术网

Mysql 两次加入同一个表

Mysql 两次加入同一个表,mysql,sql,select,join,alias,Mysql,Sql,Select,Join,Alias,我正试图在表格中列出一些数据。数据来自一个数据库,我的数据库中有3个表 我试图将这三个表连接到SQL语句中,如下所示: SELECT * FROM cases LEFT JOIN users ON cases.fk_supporter = users.user_id LEFT JOIN users ON cases.fk_creator = users.user_id SELECT supporter.usr AS supporter_usr, supporter.user_id as s

我正试图在表格中列出一些数据。数据来自一个数据库,我的数据库中有3个表

我试图将这三个表连接到SQL语句中,如下所示:

SELECT * FROM cases
LEFT JOIN users ON cases.fk_supporter = users.user_id
LEFT JOIN users ON cases.fk_creator = users.user_id
SELECT 
supporter.usr AS supporter_usr, 
supporter.user_id as support_id,
creator.usr AS creator_usr, 
creator.user_id as creator_id,
cases.* FROM cases


LEFT JOIN users AS supporter 
ON supporter.user_id = cases.fk_supporter

LEFT JOIN users AS creator 
ON creator.user_id = cases.fk_creator

fk_支持者
是用户的外键,
fk_创建者
也是用户的外键,但不是同一用户。如何正确执行此操作?

对于联接中的相同表,您需要唯一的别名

SELECT * FROM cases c
LEFT JOIN users u1 ON c.fk_supporter = u1.user_id
LEFT JOIN users u2 ON c.fk_creator = u2.user_id

联接中的相同表需要唯一别名

SELECT * FROM cases c
LEFT JOIN users u1 ON c.fk_supporter = u1.user_id
LEFT JOIN users u2 ON c.fk_creator = u2.user_id

您只需为表指定别名即可

试试这个:

SELECT * 
FROM cases c
LEFT JOIN users u1 ON c.fk_supporter = u1.user_id
LEFT JOIN users u2 ON c.fk_creator = u2.user_id;

您只需为表指定别名即可

试试这个:

SELECT * 
FROM cases c
LEFT JOIN users u1 ON c.fk_supporter = u1.user_id
LEFT JOIN users u2 ON c.fk_creator = u2.user_id;

您可以为
用户
表使用
别名

SELECT * FROM cases
LEFT JOIN users supporter ON cases.fk_supporter = supporter.user_id
LEFT JOIN users creator ON cases.fk_creator = creator.user_id

您可以为
用户
表使用
别名

SELECT * FROM cases
LEFT JOIN users supporter ON cases.fk_supporter = supporter.user_id
LEFT JOIN users creator ON cases.fk_creator = creator.user_id

可能你会有一些非左连接,尝试别名为@Saharsh和@Abhik的内部连接-如:

SELECT * FROM cases C
INNER JOIN users U1 ON C.fk_supporter = U1.user_id
INNER JOIN users U2 ON C.fk_creator = U2.user_id

可能你会有一些非左连接,尝试别名为@Saharsh和@Abhik的内部连接-如:

SELECT * FROM cases C
INNER JOIN users U1 ON C.fk_supporter = U1.user_id
INNER JOIN users U2 ON C.fk_creator = U2.user_id

好吧,我是这样工作的:

SELECT * FROM cases
LEFT JOIN users ON cases.fk_supporter = users.user_id
LEFT JOIN users ON cases.fk_creator = users.user_id
SELECT 
supporter.usr AS supporter_usr, 
supporter.user_id as support_id,
creator.usr AS creator_usr, 
creator.user_id as creator_id,
cases.* FROM cases


LEFT JOIN users AS supporter 
ON supporter.user_id = cases.fk_supporter

LEFT JOIN users AS creator 
ON creator.user_id = cases.fk_creator

好吧,我是这样工作的:

SELECT * FROM cases
LEFT JOIN users ON cases.fk_supporter = users.user_id
LEFT JOIN users ON cases.fk_creator = users.user_id
SELECT 
supporter.usr AS supporter_usr, 
supporter.user_id as support_id,
creator.usr AS creator_usr, 
creator.user_id as creator_id,
cases.* FROM cases


LEFT JOIN users AS supporter 
ON supporter.user_id = cases.fk_supporter

LEFT JOIN users AS creator 
ON creator.user_id = cases.fk_creator