简体   繁体   English

在LEFT JOIN内的SQL JOIN

[英]SQL JOIN inside LEFT JOIN

Is it possible to join a table inside a table join? 是否可以在表联接中联接表? If so how do I do it? 如果是这样,我该怎么办?

I have experience doing standard joins (LEFT JOIN) and have worked out how to join multiple tables but cant see how to join a table inside a table join. 我有执行标准联接(LEFT JOIN)的经验,并且已经研究出如何联接多个表,但是看不到如何在表联接中联接表。 Here is my data structure to explain better: 这是我的数据结构,可以更好地解释:

T1 (
    T1_T2
)

T1_T2 (
    T1_T2_id
    T1_T2_T3
)

T1_T2_T3 (
    T1_T2_T3_id
    T1_T2_T3_a
    T1_T2_T3_b
)

Currently my SQL looks like this: 目前,我的SQL如下所示:

SELECT * FROM T1
    LEFT JOIN T1_T2 
        ON T1.T1_T2 = T1_T2.T1_T2_id

This returns the data I want from T1 and T1_T2. 这将从T1和T1_T2返回我想要的数据。 I want to join T1_T2 on to T1_T2_T3 like so: 我想像这样将T1_T2加入到T1_T2_T3:

SELECT * FROM T1_T2
    LEFT JOIN T1_T2_T3 
        ON T1_T2.T1_T2_T3 = T1_T2_T3.T1_T2_T3_id

Can I do this in one query? 我可以在一个查询中执行此操作吗?

I guess you are looking for something like this: 我想您正在寻找这样的东西:

SELECT * FROM T1
    LEFT JOIN T1_T2 
     ON T1.T1_T2 = T1_T2.T1_T2_id
    LEFT JOIN T1_T2_T3 
     ON T1_T2.T1_T2_T3 = T1_T2_T3.T1_T2_T3_id

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM