Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

पूर्वजों की सूची से पेड़ बनाने का सबसे आसान तरीका

पहली कुंजी SQL परिणामों को पूर्वजों की संख्या से क्रमबद्ध करना है। मैंने इसे PHP में किया क्योंकि मैं बहु-अंकीय संख्याओं की जटिलताओं से बचता हूँ।

यह एक क्रम में नोड्स की एक सूची प्रदान करता है जिसमें उन्हें वैध रूप से सम्मिलित किया जा सकता है।

Array
(
    [1] => Array
        (
            [0] => 1
        )

    [4] => Array
        (
            [0] => 4
            [1] => 1
        )

    [2] => Array
        (
            [0] => 2
            [1] => 1
        )

    [3] => Array
        (
            [0] => 3
            [1] => 1
            [2] => 2
        )

)

इस बिंदु पर, मुझे चाबियों की परवाह नहीं है, केवल पूर्वजों की सूची। पेड़ के माध्यम से पथ उपलब्ध नोड्स और शेष पूर्वजों के चौराहे के बीच पाया जा सकता है।

  function add_node($ancestors, &$tree) {
    if (count($ancestors) == 1) {
      $tree[array_pop($ancestors)] = array();
      return;
    }   
    $next_node = array_intersect($ancestors, array_keys($tree));
    $this->add_node(
        array_diff($ancestors, $next_node) , 
        $tree[array_pop($next_node)]
        );  
  }


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. डेटा समूहीकृत किए बिना SQL SUM फ़ंक्शन

  2. mysql से php सरणी

  3. स्क्रिप्ट का उपयोग करके PHP MySQL डेटाबेस कनेक्शन का परीक्षण कैसे करें

  4. querydsl . में mysql नेस्टेड/आंतरिक कार्यों को कॉल करें

  5. कैसे mysql में अजीब varchar समय वास्तविक समय में परिवर्तित करने के लिए?