如何使两个连接';MySql中相同的表名是什么?

如何使两个连接';MySql中相同的表名是什么?,mysql,join,Mysql,Join,这会引发错误:非唯一表/别名:“table3” 我试过了 SELECT table1.name, table2.wage, table2.bonus table3.shift, table3.endtime, table4.vacation FROM table1 INNER JOIN table2 ON table1.userid = table2.userid INNER JOIN table3 ON table2.userid = table3.userid INNER JOIN tabl

这会引发错误:
非唯一表/别名:“table3”

我试过了

SELECT table1.name, table2.wage, table2.bonus table3.shift, table3.endtime, table4.vacation
FROM table1
INNER JOIN table2 ON table1.userid = table2.userid
INNER JOIN table3 ON table2.userid = table3.userid
INNER JOIN table3 ON table2.endtime = table3.endtime
INNER JOIN table4 ON table4.userid = table4.userid 
LEFT JOIN table5 ON table1.name = table5.position

窗台不工作

请给它一个唯一的别名:

INNER JOIN table3 tbl3 ON table2.userid = table3.userid
    INNER JOIN tbl3 ON table2.endtime = tbl3.endtime
实际上,为每个表指定一个别名有助于更简洁的代码:

SELECT table1.name, table2.wage, table2.bonus t3a.shift, t3b.endtime, table4.vacation
FROM table1
INNER JOIN table2 ON table1.userid = table2.userid
INNER JOIN table3 t3a ON table2.userid = t3a.userid
INNER JOIN table3 t3b ON table2.endtime = t3b.endtime
INNER JOIN table4 ON table4.userid = table4.userid 
LEFT JOIN table5 ON table1.name = table5.position;

表4的联接中似乎有错误,选择中缺少逗号-我已在最新版本中更正了它。

尝试为表名添加别名:

SELECT
    t1.name,
    t2.wage,
    t2.bonus,
    t3a.shift,
    t3b.endtime,
    t4.vacation
FROM table1 t1
INNER JOIN table2 t2 ON t1.userid = t2.userid
INNER JOIN table3 t3a ON t2.userid = t3a.userid
INNER JOIN table3 t3b ON t2.endtime = t3b.endtime
INNER JOIN table4 t4 ON t4.userid = t1.userid 
LEFT JOIN table5 t5 ON t1.name = t5.position;

使用带有关键字
的别名作为
(可以省略)

SELECT *
FROM Table1 t1
JOIN Table1 t2
ON t1.X = t2.Y
INNER JOIN table3 AS t31 ON table2.userid = t31.userid
INNER JOIN table3 AS t32 ON table2.endtime = t32.endtime