mysql:13180
From: demanotto <demanotto <demanotto@xxxxxxxxxx>>
Date: Sun, 23 Jul 2006 03:25:46 +0900
Subject: [mysql 13180] Re: 同一テーブルから階層別に分けるSQL文をつくりたい
demanottoです。 すいません。 試してはいないのですが、left joinを使えば解決しませんか? いまさら遅いですね(笑) On 5/16/38, 関 俊夫 <to-seki@xxxxxxxxxx> wrote: > はじめての投稿です。 > SQL文が作れなく困っています。よろしくお願いします。 > 会社の組織階層を格納するテーブルがあります。 > テーブル構造は > +------------------------------+ > | sections | > +------------------------------+ > | id int (8) | > | name varchar (50)| > | upper_section_id int (8) | > +------------------------------+ > そのデータは > +----------------------------------+ > | id | name | upper_section_id | > +----------------------------------+ > | 1 | 本社 | 0 | > | 2 | A事業部 | 1 | > | 3 | 東京支店 | 2 | > | 4 | 営業部 | 3 | > | 5 | B事業部 | 1 | > | 6 | 大阪支店 | 5 | > +----------------------------------+ > 希望する結果 > +---------------------------------------+ > | t1.name | t2.name | t3.name | t4.name | > +---------------------------------------+ > |本社 | | | | > |本社 |A事業部 | | | > |本社 |A事業部 |東京支店 | | > |本社 |A事業部 |東京支店 |営業部 | > |本社 |B事業部 | | | > |本社 |B事業部 |大阪支店 | | > +---------------------------------------+ > 私がためしたSQL文は > SELECT t1.name, t2.name, t3.name, t4.name > FROM `sections` AS t1 > INNER JOIN `sections` AS t2 ON t2.upper_section_id = t1.id > INNER JOIN `sections` AS t3 ON t3.upper_section_id = t2.id > INNER JOIN `sections` AS t4 ON t4.upper_section_id = t3.id > ORDER BY t1.name, t2.name, t3.name, t4.name > 私がためした結果 > +---------------------------------------+ > | t1.name | t2.name | t3.name | t4.name | > +---------------------------------------+ > |本社 |A事業部 |東京支店 |営業部 | > +---------------------------------------+ > 以上のように4つの階層関係が出来ているデータのみが表示してします。 > > ------------------------ > 関 俊夫 > http://www.dancers-online.com/ > > >
12277 2005-10-25 09:10 ["fujita" <t-fujita@x] MySQL5.0でシンボリックが有効にならない 12278 2005-10-26 08:14 ┣[Tetsuro IKEDA <tetsu] 12279 2005-10-26 09:49 ┃┗["fujita" <t-fujita@x] 12280 2005-10-26 09:57 ┃ ┗[Tetsuro IKEDA <tetsu] 12281 2005-10-26 10:30 ┃ ┗["fujita" <t-fujita@x] 13055 1938-05-16 13:05 ┗[関 俊夫 <to-seki@xx] 同一テーブルから階層別に分けるSQL文をつくりたい 13057 2006-06-03 21:06 ┣["F.Y" <fumi_sby@xxxx] 13059 2006-06-04 06:36 ┃┗[関 俊夫 <to-seki@xx] 13060 2006-06-04 08:15 ┃ ┗[関 俊夫 <to-seki@xx] 13061 2006-06-04 10:30 ┃ ┗[関 俊夫 <to-seki@xx] 13058 2006-06-04 06:31 ┣[関 俊夫 <to-seki@xx] -> 13180 2006-07-23 03:25 ┗[demanotto <demanotto]