2017-09-19 22 views
0

こんにちは私は親ノードのすべての子ノードを取得するtbl_userという名前のテーブルを持っています。親のIDを使用してすべての子ノードを取得

すべての親IDにはそれぞれ左右のノードがあります。

私のテーブル構造とデータ

-- phpMyAdmin SQL Dump 
-- version 4.1.14 
-- http://www.phpmyadmin.net 
-- 
-- Host: 127.0.0.1 
-- Generation Time: Sep 19, 2017 at 08:29 PM 
-- Server version: 5.6.17 
-- PHP Version: 5.5.12 

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; 
SET time_zone = "+00:00"; 


/*!40101 SET @[email protected]@CHARACTER_SET_CLIENT */; 
/*!40101 SET @[email protected]@CHARACTER_SET_RESULTS */; 
/*!40101 SET @[email protected]@COLLATION_CONNECTION */; 
/*!40101 SET NAMES utf8 */; 

-- 
-- Database: `mlm` 
-- 

-- -------------------------------------------------------- 

-- 
-- Table structure for table `tbl_user` 
-- 

CREATE TABLE IF NOT EXISTS `tbl_user` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `user_id` varchar(100) DEFAULT NULL, 
    `full_name` varchar(100) DEFAULT NULL, 
    `display_name` varchar(100) DEFAULT NULL, 
    `email` varchar(100) DEFAULT NULL, 
    `mobile` varchar(100) DEFAULT NULL, 
    `password` varchar(100) DEFAULT NULL, 
    `address` text, 
    `country_id` int(11) DEFAULT NULL, 
    `state_id` int(11) DEFAULT NULL, 
    `city_id` int(11) DEFAULT NULL, 
    `parent_id` varchar(100) DEFAULT NULL, 
    `user_position` varchar(100) DEFAULT NULL, 
    `sponser_id` varchar(100) DEFAULT NULL, 
    `plan_id` int(10) NOT NULL, 
    `status` varchar(100) DEFAULT NULL, 
    `user_created` date NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=30 ; 

-- 
-- Dumping data for table `tbl_user` 
-- 

INSERT INTO `tbl_user` (`id`, `user_id`, `full_name`, `display_name`, `email`, `mobile`, `password`, `address`, `country_id`, `state_id`, `city_id`, `parent_id`, `user_position`, `sponser_id`, `plan_id`, `status`, `user_created`) VALUES 
(18, 'OR201701', 'Chita Ranjan Mirdha', 'Chitta', '[email protected]', '9861180448', '317419d46c44c40b99f7351739dbec74', NULL, 99, 24, 719, NULL, 'center', NULL, 1, 'active', '2017-09-17'), 
(19, 'OR317639', 'Binayak Das', 'Binayak', '[email protected]', '9861180448', '317419d46c44c40b99f7351739dbec74', NULL, 99, 11, 222, 'OR201701', 'left', 'OR201701', 1, 'Pending', '2017-09-17'), 
(20, 'OR480484', 'Soumya Ranjan Das', 'Soumya', '[email protected]', '9439149608', '317419d46c44c40b99f7351739dbec74', NULL, 99, 24, 722, 'OR201701', 'right', 'OR201701', 1, 'active', '2017-09-20'), 
(23, 'OR594192', 'Sidharth Das', 'Sidharth', '[email protected]', '9861180448', '317419d46c44c40b99f7351739dbec74', NULL, 99, 3, 85, 'OR480484', 'left', 'OR201701', 2, 'Pending', '2017-09-17'), 
(24, 'OR355157', 'Rohit Kerketta', 'Rohit', '[email protected]', '9861180448', '74b87337454200d4d33f80c4663dc5e5', NULL, 99, 20, 693, 'OR480484', 'right', 'OR201701', 1, 'Pending', '2017-09-17'), 
(25, 'OR435604', 'Jabesh Ghanta', 'Jabesh', '[email protected]', '9861180448', '74b87337454200d4d33f80c4663dc5e5', NULL, 99, 24, 719, 'OR317639', 'left', 'OR201701', 2, 'Pending', '2017-09-17'), 
(26, 'OR539892', 'Abhishek Behera', 'Daddu', '[email protected]', '9861180448', '11ddbaf3386aea1f2974eee984542152', NULL, 99, 12, 281, 'OR317639', 'right', 'OR201701', 1, 'Pending', '2017-09-18'), 
(27, 'OR776071', 'Lalatendu Das', 'LULU', '[email protected]', '9861180488', '8f60c8102d29fcd525162d02eed4566b', NULL, 99, 11, 209, 'OR355157', 'left', 'OR355157', 1, 'Pending', '2017-09-18'), 
(28, 'OR119885', 'Jyotirmaya Das', 'Tikana', '[email protected]', '9861180448', '8f60c8102d29fcd525162d02eed4566b', NULL, 99, 5, 112, 'OR355157', 'right', 'OR355157', 1, 'Pending', '2017-09-20'), 
(29, 'OR135842', 'Ashish Kumar Samantray', 'Asish', '[email protected]', '9861180448', 'decc8686654b465e5313259325149a86', NULL, 99, 24, 716, 'OR435604', 'left', 'OR355157', 2, 'Pending', '2017-09-19'); 

/*!40101 SET [email protected]_CHARACTER_SET_CLIENT */; 
/*!40101 SET [email protected]_CHARACTER_SET_RESULTS */; 
/*!40101 SET [email protected]_COLLATION_CONNECTION */; 

は、私は、ユーザーが親ノードであるユーザーでログイン手段に記録され、すべての子ノードを取得するために多くのことを試してみました。

私はuser_idにparent_idを持っています。 mysqlにデータをインポートすると、データと構造についてのアイデアが得られます。

わかりやすくするために、ツリー構造をアップロードしています。 enter image description here

これは私のデータのバイナリ構造です。しかし、私は上記の与えたものを私の現在のクエリを1としてenter image description here

下の6件の結果を示しているように、テーブル にもデータが欲しいです。しかし、クエリはバイナリツリーごとに9つの結果を表示する必要があります。

私はよく考えています。疑問があればお尋ねください。

答えて

0

このクエリを試してみてください。私は、これはあなたのために働くと思う。

はtbl_user IN PARENT_ID(tbl_user PARENT_IDは= 'OR201701' からUSER_ID SELECT)

FROM PARENT_ID = 'OR201701' UNIONが選択 tbl_user FROM * *を選択します