-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";