-1
我有一個這樣的表。 parent_tree列包含冒號分隔父樹即 盛大隆重的家長:祖父母:家長訂購父/子 - SQL中的分層數據表
parent_tree | name | Type
All Liabilities:Current Liabilities | Salaries Payable | Liabilities
Assets | Current Assets | Assets
null | All Liabilities | Parent
All Liabilities | Current Liabilities | Parent
null | Assets | Parent
.
.
問題 現在我想運行一個選擇查詢(選擇---從表順序----)以下面的順序得到結果,即父母先,然後是子女:
parent_tree | name | Type
null | All Liabilities | Parent
All Liabilities | Current Liabilities | Parent
All Liabilities:Current Liabilities | Salaries Payable | Liabilities
null | Assets | Parent
Assets | Current Assets | Assets
所以主要問題是我應該寫什麼E在爲了通過
我嘗試以下,但結果不正確的順序:
select * from table order by if(type = 'Parent', concat(coalesce(parent_tree,name), ':' ,name), parent_tree), length(parent_tree), if(type = 'Parent', 0, 1), type";