親IDが5つの子IDを持ち、その子IDが親IDで5つの子IDを持つクエリをどのように構築できますか?私のquery.tableで呼び出すことはできますか?あなたは、いくつかの子エンティティを持つエンティティを求めるためにいくつかの再帰クエリを持っているしたいのですが、その一部に:私は右のあなたを得た場合、私は知りませんが、私はそうは思わconfusion.thanks よろしく imadbaloch親IDに子IDがあり、次回に子IDが親IDであるmysqlクエリを書くにはどうしたらいいですか?
2
A
答えて
2
子エンティティ(孫エンティティ)も持つ。
残念ながら、MySQLはクエリ内で再帰をサポートしていません。
複数のクエリを使用して、子エンティティの子エンティティ(孫エンティティ)とその子エンティティ(大企業エンティティ)などを問い合わせる必要があります。
更新:深さが固定されている場合、たとえば、あなたは直接の子エンティティと孫のエンティティ(およびこれ以上)に興味がある、あなたは例えば、2つの結合を実行することができます:
SELECT e.id, e.name, ce.id, ce.name, gce.id, gce.name
FROM <table> AS e
LEFT JOIN <table> AS ce ON ce.parent_id = e.id
LEFT JOIN <table> AS gce ON gce.parent_id = ce.id
0
あなたは子供の子供を得るために自己参加することができます。以下のようなテーブルを仮定:のような
Id ChildId ....
----- ------- -----
....
何か:
SELECT a.Id as EntryId, a.ChildId as ChildId, b.ChildId as GrandchildId
FROM <tablename> a INNER JOIN <tablename> b ON a.ChildId = b.Id
欠点は、階層の各レベルに含めたいためにあなたが他の参加必要があるということです。コメントへの対応
UPDATE
。
これは、親あたり1人の孫ではありません。親に5人の子供がいて、それぞれに4人の子供がいる場合、合計20行が返されます。
このように、あなたは自己結合を再度する必要があります孫の完全な詳細を取得するには:
SELECT a.Id as EntryId, a.ChildId as ChildId, b.ChildId as GrandchildId, c.*
FROM (<tablename> a INNER JOIN <tablename> b ON a.ChildId = b.Id)
INNER JOIN <tablename> c ON b.ChildId = c.Id
0
クエリの下には試してみてください。
DECLARE @id INT
SET @id = 5
CREATE TABLE #temp (id INT , ParentId INT)
INSERT INTO #temp VALUES(1,0);
INSERT INTO #temp VALUES(2,1);
INSERT INTO #temp VALUES(3,2);
INSERT INTO #temp VALUES(4, 3);
INSERT INTO #temp VALUES(5,4);
WITH parent AS
(
SELECT id, parentId from #temp WHERE id = @id
UNION ALL
SELECT t.id, t.parentId FROM parent
INNER JOIN #temp t ON t.id = parent.parentid
)
SELECT id,ParentId FROM parent
WHERE id <> @id;
Drop TABLE #temp;
関連する問題
- 1. MySQLの親IDの子ID関係
- 2. 子クエリに親IDを使用していますか?
- 3. IDはNHibernateの親クラスと子クラスにあります
- 4. 子IDから親IDを取得するSQL PHP
- 5. 子IDの代わりにfirebaseの親のIDが返される
- 6. 親&子供のidの
- 7. icCube親/子ソートビューid = parent_id
- 8. 親子テーブルの子の親IDを取得しますか?
- 9. mysqliですべての子IDを親IDで取得するselectクエリを書く方法
- 10. ビルドされた子、親idはnil
- 11. RailsのRabl宝石:クエリの子の親IDに基づいて
- 12. 親IDでIDを選択
- 13. elasticsearchの親IDから子のリストを取得するには
- 14. NHibernate親の親IDとIDの割り当てID
- 15. T-SQLの親IDと一致する子ID
- 16. JavascriptサブIDから親IDを取得
- 17. jquery:ダイナミックID親セレクタ、親にフィットする子供
- 18. 親プロセスのid(minix)から子プロセスIDを取得するCプログラム
- 19. ExtBase:親IDは、私が持っている子オブジェクト
- 20. 親div idを取得すると子div IDが返される
- 21. 子モデル内で親オブジェクトIDを取得するにはどうすればよいですか?入れ子式
- 22. jQuery - 既知の子クラス:親の親の次の子孫を見つける(親IDから)
- 23. 子を挿入するための親IDのIDを取得する方法
- 24. MySQLはどのように私は、クエリを変更するか、親ID
- 25. SQLの選択親IDまたはID(親でない場合)の引数
- 26. 親と子のIDのクリック機能
- 27. 親と子のテーブル一意のIDフィールド
- 28. IDがGoogleドライブV3のルートIDであるかどうかを知るには?
- 29. mongoose-schema - どちらも子配列+親ドキュメントのIDが必要ですか?
- 30. 子要素のIDを取得して親に追加する
は同じ問題に回答を参照してくださいます。http: //stackoverflow.com/a/33699713/5559741 – wajeeh