我想确定加入的具体顺序。
SELECT *
FROM (lives_in as t1 NATURAL JOIN preferences p1) l1
JOIN (lives_in t2 NATURAL JOIN preferences p2) l2
ON l1.dormid = l2.dormid返回一个错误。
有人能帮忙吗?非常感谢!
发布于 2013-10-15 05:53:38
您的别名查询缺少一个SELECT子句,因此尝试如下:
SELECT *
FROM (
select * -- added this
FROM lives_in as t1
NATURAL JOIN preferences p1) l1
JOIN (
select * -- added this
FROM lives_in t2
NATURAL JOIN preferences p2) l2
ON l1.dormid = l2.dormid发布于 2013-10-15 05:48:05
连接的顺序与结果无关。你可能想要这样的东西:
SELECT *
FROM lives_in t1
NATURAL JOIN preferences p1 ON p1.some_id = t1.id
NATURAL JOIN preferences p2 ON p2.some_id = t1.id而且,大多数人称它为内部连接,而不是自然连接,顺便说一下。
发布于 2013-10-15 06:27:10
希望能帮上忙。
SELECT *
FROM (
select * from lives_in as t1 NATURAL JOIN preferences p1
) l1
JOIN (
select * from lives_in t2 NATURAL JOIN preferences p2
) l2
ON l1.dormid = l2.dormidhttps://stackoverflow.com/questions/19374028
复制相似问题