0
我表中有三個字段定義存在於MySQL數據庫的層次關係。MySQL中的分層查詢。 (由等效爲MySQL連接)
Table Name : tb_corp
--------------------------------------------
comp_code | incharge_comp_Code | mngr_emp_no
A | | 111
--------------------------------------------
B | A |
--------------------------------------------
C | B |
--------------------------------------------
如何編寫一個查詢來獲取mngr_emp_no = 111負責的所有comp_code。根據上表,111負責三家公司(A,B和C)。原因是A公司負責B公司,B公司負責C公司,A公司也負責C公司。 (A→B)(B→C)==(A→C)
這種簡單的分層模型並沒有真正自己借給你婉做這種分析。鄰接列表將使其變得簡單。另請參見http://stackoverflow.com/questions/4048151/what-are-the-options-for-storing-hierarchical-data-in-a-relational-database – symcbean
@symcbean:該模式*是*鄰接表。所以我不理解你的評論......一個「鄰接列表會讓它變得簡單。」許多數據庫確實支持鄰接列表的分層查詢。在Oracle中非常簡單,使用'CONNECT BY'。在SQL Server中使用遞歸CTE更復雜一些。但是MySQL沒有這些功能的等價物。 – spencer7593