mysql中怎么退出表_mysql – 如何离开连接或内部连接表本身

例如,我在表格中有这些数据

id name parent parent_id

1 add self 100

2 manage null 100

3 add 10 200

4 manage null 200

5 add 20 300

6 manage null 300

我如何离开连接或内部连接这个表本身,所以我得到这个结果下面?

id name parent

2 manage self

4 manage 10

6 manage 20

正如我所知,我只想使用关键字’manage’查询行,但我想将add的行中的列parent数据作为结果中manage的行中的as.

可能吗?

编辑:

我的实际表格的简化版本 – 系统,

system_id parent_id type function_name name main_parent make_accessible sort

31 30 left main Main NULL 0 1

32 31 left page_main_add Add self 0 1

33 31 left page_main_manage Manage NULL 0 2

我的实际查询已经非常混乱……

SELECT

a.system_id,a.main_parent,b.name,b.make_accessible,b.sort

FROM system AS a

INNER JOIN -- self --

(

SELECT system_id,name,make_accessible,sort

FROM system AS s2

LEFT JOIN -- search --

(

SELECT system_id AS parent_id

FROM system AS s1

WHERE s1.function_name = 'page'

) AS s1

ON s1.parent_id = s2.parent_id

WHERE s2.parent_id = s1.parent_id

AND s2.system_id != s1.parent_id

ORDER BY s2.sort ASC

) b

ON b.system_id = a.parent_id

WHERE a.function_name LIKE '%manage%'

ORDER BY b.sort ASC

我得到的结果,

system_id main_parent name make_accessible sort

33 NULL Main 0 1

但我在此之后,

system_id main_parent name make_accessible sort

33 self Main 0 1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值