1
我有2张桌子。如何多连接表?
工人和经验
在表的工人有一行worker_parent(因为一个工人可以负责其他)。
不,我必须连接的表像:
SELECT w1.* FROM workers w1 LEFT JOIN workers w2 ON (w2.id = w1.worker_parent)
这是很正常的。但是我必须以w2的经验排序,我尝试添加表体验,但是它连接到w1而不是w2。
我的问题是如何将表体验(其中有行worker_id)添加到w2中,并通过经验和从w1中选择数据进行排序。
这是我的尝试。
SELECT w1.* FROM workers w1 LEFT JOIN workers w2 ON (w2.id = w1.worker_parent) LEFT JOIN experience e ON (w2.id = e.worker_id) ORDER BY e.experience DESC
感谢对帮助
和什么是错丝毫查询?它的排序工作者由父母经验丰富,如果他们有父母 – 2012-07-07 08:17:06
虽然你没有显示任何来自'W2'和'experience'表的数据,你的SQL似乎是非常正确的。这意味着,如果'W2'中的'W1'有多行并且'experience'中的'W2'类似,那么您的输出中'W1'中的每行都将有多行。要了解除了'W1'列以外,还需要显示'W2'和'Experience'的一些列。 – somnath 2012-07-07 08:22:44
@somnath - 我只需要w1的数据。 – CroiOS 2012-07-07 08:25:25