0
不工作加入多个SQL表
SELECT a.name, atn.name
FROM t1 a
JOIN t2 ap ON a.id = ap.area_id
JOIN t3 atn ON atn.id = ap.parent_id
我有一个区域名称和它们的类型(如针,病房和简单的区域名称)的表t1和t2表与他们的映射和表T3与类别名,他们的ID。
我想要一个带有三列(区域名称,别针,病房)的结果,即结果应该是哪个区域位于pin和病房之下。
t1
:
--------------------------
| id | area name | type |
---------------------------
| 1 | a | 5 |
| 2 | b | 8 |
| 3 | x | 7 |
| 4 | z | 8 |
| 5 | pq | 8 |
---------------------------
t2
:
------------------------------
| id | area_id | parent_id |
------------------------------
| 1 | 2 | 1 |
| 2 | 2 | 3 |
| 3 | 4 | 1 |
| 4 | 5 | 3 |
-----------------------------
t3
:
------------------
| id | name |
------------------
| 5 | pin |
| 7 | ward |
| 8 | area |
------------------
结果:
--------------------------
| area | pin | ward |
--------------------------
| b | a | x |
| z | a | |
| pq | | x |
--------------------------
任何人都知道如何得到这个,请帮助我。我不知道如何获得这个价值。我试过但找不到任何东西。
没有任何情况符合JOIN t3 atn ON atn.id = ap.parent_id - 所以我不希望它能够工作。 –
根据您的情况,您的预期结果不正确。 –
@ BrianTompsett-汤莱恩这是一个关键问题 – Drew