我想知道如何为双联接表的组合创建别名。
因此,问题是TableOne自然地联接TableTwo,然后将TableThree与AID=AbID
联接,我想给这个组合表一个别名,例如NewTable。
我尝试过:
((TableOne NATURAL JOIN TableTwo) JOIN TableThree ON (AID = AbID) AS NewTable
但似乎不起作用。
答案 0 :(得分:0)
您可以(并且应该)为每个表添加别名:
((TableOne t1
NATURAL JOIN TableTwo t2)
JOIN TableThree t3
ON (AID = AbID) AS NewTable
答案 1 :(得分:0)
首先,不要使用NATURAL JOIN
。它确实被破坏了,因为它使用具有相同 name 的列,而不是正确声明的外键关系。这也使得代码真的很难调试。因此,请改用ON
或USING
。
第二,您只能使用子查询来做您想做的事情:
FROM . . .
(SELECT . . . -- fill in with the columns you want
FROM TableOne t1 JOIN
TableTwo t2
USING ( . . . ) JOIN -- fill in with the columns used for the `JOIN`
TableThree t3
ON ?.AID = ?.AbID -- fill in with the table aliases where the columns come from
) NewTable