[前][次][番号順一覧][スレッド一覧]

mysql:10290

From: "片寄白王" <"片寄白王" <katayose@xxxxxxxxxx>>
Date: Wed, 06 Oct 2004 09:37:41 +0900
Subject: [mysql 10290] Re: レコードの取得について

片寄です。

再帰的呼び出しになるようですね。

SET @id='1';
SET @pid='1';

SELECT ID,PARENT_ID,NAME FROM TableName WHERE ID=@id OR PARENT_ID=@pid;

これで得られたIDとPARENT_IDを変数@idと@pidに代入して再度呼び出す。
データがなくなるまでSELECT文を繰り返す。

SQLだけでは解決しないのではないでしょうか


溝口豊 wrote:
> はじめまして。溝口と申します。
> 最近MySQLの勉強をはじめた初心者です。よろしくお願いいたします。
> 
> 現在以下のようなテーブルからデータを取得するアプリケーションを
> 作成しています。
> 
> 	カラム  |  ID  |  NAME     |  PARENT_ID
> 	--------+------+-----------+-----------
> 	1行目  |  1   |  Akira    |  NULL
> 	2行目  |  2   |  Itiro    |  1
> 	3行目  |  3   |  Akane    |  2
> 	4行目  |  4   |  Takashi  |  1
> 
> 	<カラムのデータについて>
> 	ID	 :レコードのID
> 	NAME	 :名前
> 	PARENT_ID:親のID(レコードのPERENT_IDが1の場合レコード
> 		 のIDが1のレコードと親子関係)
> 
> 作成中のアプリケーションで行うことはデータを取得したいレコード
> のIDが指定されたらそのレコードの子にあたるレコードや孫にあたる
> レコードも取得するというものです。
> 
> 	例1)取得したいレコードのIDが1の場合。
> 		1, 2, 3, 4のIDのレコードを取得する。
> 
> 	例2)取得したいレコードのIDが2の場合。
> 		2, 3のIDのレコードを取得する。
> 
> しかしそのようにレコードを取得するためにはどのようなSQL文を記
> 述すればよいかわかりませんでした。
> どなたかご存知の方がいらっしゃいましたらお教え願えれば幸いと存
> じます。
> よろしくお願いいたします。
> 
> ----
> 溝口豊  mizoguci@xxxxxxxxxx
> 


[前][次][番号順一覧][スレッド一覧]

     10283 2004-10-05 22:11 [<mizoguci@xxxxxxxxxx] レコードの取得について                  
->   10290 2004-10-06 09:37 ┣["片寄白王" <katayose]                                       
     10291 2004-10-06 09:53 ┗[渡邊昌之 <mark@xxxxx]                                       
     10299 2004-10-06 20:59  ┗[<mizoguci@xxxxxxxxxx]