我想自我加入表中的信息,以顯示一個層次結構(該表包含成員,其中包括兒童及其父母)。表名是'成員',四個重要列是id,full_name,father_id和mother_id。列father_id和mother_id中的id匹配'id'列中相應的id。作爲查詢的結果,我想有一個三列,列名稱'名稱','父'和'母親'的表格如何獲得tripple自我加入工作
我搜索谷歌,W3學校和堆棧溢出,最接近什麼我一直在尋找的是一個話題,我發現在這裏,所謂的「說明自聯接」是有下面的例子代碼:
select
c1.Name , c2.Name As Boss
from
emp1 c1
inner join emp2 c2
on c1.Boss_id = c2.Id
我改變了查詢,如下所示(我甚至不敢包括第三列尚未:')):
select
c1.full_name as Name, c2.full_name as Father
from
members1 c1
inner join members2 c2
on c1.father_id = c2.id
不幸的是,我收到一條錯誤消息如下:1146 - 表'ppstb.members1'不存在
我猜想它與我如何模擬有兩個表有關。我實驗過,接下來的事情就是:
select
c1.full_name , c2.full_name as Father
from
members c1, members c2
inner join members c2
on c1.father_id = c2.id
但是,這也提供了一個錯誤:1066 - 不是唯一的表/別名:「C2」我錯過了哪一步?
對於#1146錯誤:表名是區分大小寫的。你使用正確的大小寫嗎? – Arulkumar
@Arulkumar根據他的查詢,他的表名是成員,但他在該查詢中使用其名稱爲members1,這是問題 –