実現したいこと
idを元にSELECTしたレコードと、
そのレコードの parent_id
を持つレコード
の2行を 1回のクエリで同時にSELECT する事は可能でしょうか。
(googleで何と検索すれば いいでしょうか。)
例:
下記のテーブルにて、id=3 を元にしたとすると、
まず、くだもの レコードがSELECTされます。
くだもの レコードの parent_id は 1 なので、
id = 1 である、食べ物 レコード をSELECTします。
この時、くだもの レコードと、食べ物レコード の 2行を1回のクエリで取得したいです。
id | parent_id | data |
---|---|---|
1 | null | 食べ物 |
2 | null | 乗り物 |
3 | 1 | くだもの |
4 | 1 | お菓子 |
▽取得したい配列の形
[ [ 'id'=>3 'parent_id'=>1, 'data'=>'くだもの' ], [ 'id'=>1 'parent_id'=>null, 'data'=>'食べ物' ], ]
試したこと
下記のコードでは、とある子供レコードの親レコードの取得はできますが、子供レコードが取得できなくて困っています。
sql
1SELECT t2.* 2FROM `main` t1 3JOIN `main` t2 ON t1.id = t2.parent_id 4WHERE t1.id = 3;
0 コメント