sql >> Databáze >  >> RDS >> Mysql

Jak převést DB tabulku se vztahem nadřazeného syna na vícerozměrné pole

Zde je moje řešení:

function cost_centres_format($items,$parent_id,$array=array()) {
    foreach($items as $item) {
        if($item->parent_id == $parent_id) {
            $array[] = $item;
            if($item->internal_purchase_order_cost_centre_id>0) {
                $array = cost_centres_format($items,$item->internal_purchase_order_cost_centre_id,$array);
            }
        }
    }
    return $array;
}
$array = cost_centres_format($items,0);

Diesel (id:5) bude kvůli původní objednávce nižší než Údržba vozidla (id:4). Můžete provést další řazení podle názvu, ale ve vašem příkladu bylo velké (id:3) nižší než režijní náklady (id:2).



  1. Přidání omezení pomocí poddotazu z jiné tabulky

  2. Odstraňte duplicitní záznamy bez vytvoření dočasné tabulky

  3. Jak rozvinout výsledky dotazu Oracle na základě hodnoty sloupce

  4. Vložit do MySQL z R