select * from (
SELECT ID,`NAME`,PARENT_ID as pId
FROM pm_organization
WHERE IS_ACTIVE = '1'
and PARENT_ID in(0,1)
and (PARENT_ID in(0) or id =#{orgId})
) a
where a.ID is not null
SELECT
mt4.`NAME` as firstName,
mt3.`NAME` as secondName,
mt2.`NAME` as maType,
mt.`NAME` as maModel ,
mt.ID as maModelId ,
mr.org_id as orgId,
if(mr.TYPE_ID > 0,1,0) as isActive,
if(po.`NAME` is not null,GROUP_CONCAT(DISTINCT po.`NAME` SEPARATOR ','),'') orgName
from
mm_type mt
LEFT JOIN mm_type mt2 on mt.PARENT_ID = mt2.ID
LEFT JOIN mm_type mt3 on mt2.PARENT_ID = mt3.ID
LEFT JOIN mm_type mt4 on mt3.PARENT_ID = mt4.ID
LEFT JOIN ma_org_relation mr on mt.id = mr.type_id and mr.org_id =#{orgId}
LEFT JOIN pm_organization po on mr.org_id = po.id
WHERE mt.`LEVEL` = 4 and mt.IS_ACTIVE = 1
AND ( mt4.`NAME` LIKE CONCAT('%',#{keyWord},'%')
OR mt3.`NAME` LIKE CONCAT('%',#{keyWord},'%')
OR mt2.`NAME` LIKE CONCAT('%',#{keyWord},'%')
OR mt.`NAME` LIKE CONCAT('%',#{keyWord},'%')
)
GROUP BY mt.ID
order by isActive DESC
REPLACE into ma_org_relation (ORG_ID,TYPE_ID)
values
(#{item.orgId},#{item.maModelId})
delete from
ma_org_relation
where ORG_ID = #{orgId}
and TYPE_ID = #{maModelId}