テーブルには、MySQLデータベースに存在する階層関係を定義する3つのフィールドがあります。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社は3社(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を使用するとかなりシンプルです。再帰的なCTEを持つSQL Serverにはもう少し複雑です。しかし、MySQLにはこれらの機能と同等の機能はありません。 – spencer7593