SELECT a.ID,
e.name object,
a.date,
b.name R1,
c.name R2,
d.`u-name` R3
FROM table1 a
INNER JOIN table2 b
ON a.r1 = b.object
INNER JOIN table2 c
ON a.r2 = c.object
INNER JOIN table2 e
ON a.object = e.object
INNER JOIN table3 d
ON a.r3 = d.`u-id`
为了进一步获得更多的知识有关加入,请访问以下链接:
上面的查询使用INNER JOIN
仅table1
如果合适的话所有字段为不可为空。当其中一个是可以为空时并且您想要返回table1
的所有列表,请使用LEFT JOIN
而不是INNER JOIN
。
“..Also新表应该这样做只有一个(大)查询来创建。”
CREATE TABLE tableNameHere(col1 INT,....) -- list of columns
AS
SELECT a.ID,
e.name object,
a.date,
b.name R1,
c.name R2,
d.`u-name` R3
FROM table1 a
INNER JOIN table2 b
ON a.r1 = b.object
INNER JOIN table2 c
ON a.r2 = c.object
INNER JOIN table2 e
ON a.object = e.object
INNER JOIN table3 d
ON a.r3 = d.`u-id`
你是不是缺少一个更加入?就像“物体”一样? – Brian 2013-05-12 02:06:43
你是对的。我会更新答案。 – 2013-05-12 02:11:36
看到我更新的答案。 – 2013-05-12 02:12:59