mysql递归级联查询

需求:三级联级,需要根据当前订单中的设备信息,查到它的所有上级信息



需要的结果:公司A-品牌B-机型A-设备B


之前强行写的sql虽然能满足要求,但是效率堪忧
下方为sql,'333'为ID

SELECT equipment_Id,equipment_name,type,equipment_parentcode
    FROM ( 
        SELECT 
                @r AS id, 
                (SELECT @r := equipment_parentcode FROM equipment WHERE equipment_Id = id) AS pid, 
                 @l := @l + 1 AS lvl 
        FROM 
                (SELECT @r := 333, @l := 0) vars, 
                equipment h 
        WHERE @r <> 0
        ) T1 
    JOIN equipment T2 
    ON T1.id = T2.equipment_Id
ORDER BY equipment_Id;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。