将表连接到自身的复杂INNER JOIN

时间:2014-08-19 15:39:49

标签: mysql inner-join

我是使用SQL查询的初学者,并希望创建一个内部JOIN语句,它连接在同一个表上,另一个最后连接。

这是我的JOIN声明:

INNER JOIN (JOIN Categories ON Categories.PID=Categories.ID) 
ON categories.ID = categories_links.CID

2 个答案:

答案 0 :(得分:1)

它并不比加入不同的表更复杂。

SELECT ...
FROM Categories AS c1
INNER JOIN Categories AS c2 ON c1.PID = c2.ID
INNER JOIN Categories_links AS cl ON cl.CID = c1.ID

我不确定最后一次加入是使用c1还是c2,因为您的问题不是很明确。如果您发布一些示例数据和所需的结果,我可以在必要时进行修复。

答案 1 :(得分:0)

你可以这样做:

SELECT *
FROM Categories a
JOIN Categories b
  ON a.PID=b.ID
JOIN categories_links c  
  ON a.ID = c.CID