Php mySQL多连接
我们一直在寻找构建一个mySQL查询,从许多不同的表中选择某些内容。但是,我在运行SQL时遇到了一个错误。不知道我错过了什么 SQL:Php mySQL多连接,php,mysql,Php,Mysql,我们一直在寻找构建一个mySQL查询,从许多不同的表中选择某些内容。但是,我在运行SQL时遇到了一个错误。不知道我错过了什么 SQL: SELECT * FROM tripreport as tr JOIN ( SELECT * FROM tripreportentries as tre LIMIT 1 ) ON tr.tripreportid = tre.reportid JOIN users as u ON tr.userid = u.id JOIN user_details
SELECT *
FROM tripreport as tr
JOIN
(
SELECT * FROM tripreportentries as tre LIMIT 1
) ON tr.tripreportid = tre.reportid
JOIN users as u ON tr.userid = u.id
JOIN user_details as ud ON u.id = ud.userid
错误:
Every derived table must have its own alias
我是否遗漏了一些非常明显的东西,因为这意味着每个表引用都必须有自己的别名,正如在我的查询中定义的一样。在我看来,所有的表都有这个功能,但它仍然无法运行
我是不是误解了这一点,还是看得太多了?您错过了别名:
....
JOIN
(
SELECT * FROM tripreportentries LIMIT 1
) AS tre ON
...
你错过了别名:
....
JOIN
(
SELECT * FROM tripreportentries LIMIT 1
) AS tre ON
...
使用
()
中的别名。由于内部查询中只有一个表,因此可以使用别名tre
本身:
SELECT *
FROM tripreport as tr
JOIN
(
SELECT * FROM tripreportentries LIMIT 1
) as tre ON tr.tripreportid = tre.reportid
JOIN users as u ON tr.userid = u.id
JOIN user_details as ud ON u.id = ud.userid
使用
()
中的别名。由于内部查询中只有一个表,因此可以使用别名tre
本身:
SELECT *
FROM tripreport as tr
JOIN
(
SELECT * FROM tripreportentries LIMIT 1
) as tre ON tr.tripreportid = tre.reportid
JOIN users as u ON tr.userid = u.id
JOIN user_details as ud ON u.id = ud.userid
谢谢,我自己的布偶。谢谢,我自己的布偶。