我有以下表格
t1: t2: t3:
id id f1 id f2
1 1 a 3 a
2 2 b 4 b
3 3 c 5 c
4
5
我试图获得以下结果
t4:
id f1 f2
1 a
2 b
3 c a
4 b
5 c
我使用以下查询
SELECT t1.id, t2.f1, t3.f2
FROM (t1
LEFT JOIN t2 ON t1.id = t2.id) AS a
LEFT JOIN t3 ON t1.id = t3.id
它可以工作,但查询需要一段时间才能运行。有一个更好的方法吗?感谢
答案 0 :(得分:0)
提供一个不涉及其他表的替代方法:您可以尝试构造SQL以执行嵌套SELECT
查询,以便只为每个SELECT
查询连接表,但是我怀疑这会比你拥有的东西有显着改善:
SELECT tmp.id, tmp.f1, t3.f2
FROM
(SELECT t1.id, t2.f1 FROM t1 LEFT JOIN t2 ON t1.id = t2.id) AS tmp
LEFT JOIN t3 ON tmp.id = t3.id