我有一个名为tbl_company
的mysql表,它看起来像这个
|------------|--------------|-------------------|
| Company_id | Company_name | Company_Parent_id |
|------------|--------------|-------------------|
| | | |
| | | |
|------------|--------------|-------------------|
这里company_parent_id只不过是某公司的母公司名称的company_id。
我想要做的是编写一个嵌套查询,它给出了如下数据
|------|-----------|-----------|-----------|-----------|
| Root | 1st Level | 2nd Level | 3rd Level | 4th Level |
|------|-----------|-----------|-----------|-----------|
| | | | | |
| | | | | |
|------|-----------|-----------|-----------|-----------|
我将提供root company_id并将根据该订单进行订购,以便结果应该像
|------|-----------|-----------|-----------|-----------|
| Root | 1st Level | 2nd Level | 3rd Level | 4th Level |
|------|-----------|-----------|-----------|-----------|
| abc | def | | | |
| abc | def | efg | | |
| abc | def | efg | hij | |
| abc | def | efg | hij | lmn |
|------|-----------|-----------|-----------|-----------|
我该如何处理?任何帮助都会很棒!
修改
我自己尝试了一个查询,它没有返回所有结果
SELECT l1.Company_name AS lev1, l2.Company_name as lev2, l3.Company_name as lev3, l4.Company_name as lev4
FROM tbl_company AS l1
LEFT JOIN tbl_company AS l2 ON l2.Company_Parent_id = l1.Company_id
LEFT JOIN tbl_company AS l3 ON l3.Company_Parent_id = l2.Company_id
LEFT JOIN tbl_company AS l4 ON l4.Company_Parent_id = l3.Company_id
WHERE l1.Company_Parent_id = 0 and l1.Company_id != 0
ORDER BY l1.Company_name ASC;
有人可以帮助我让这个SQL工作吗?