解决办法:
select distinct t.rid,
t1.unitname,
t.username,
t.user_no,
t.IF_REVEAL,
'' as type,
'' as typeName,
t2.ZONE_GB, t1.UNIT_CODE
from TS_USER_INFO t
left join ts_unit t1 on t.unit_rid = t1.rid
left join ts_zone t2 on t1.zone_id = t2.rid
left join TS_USER_ROLE t3 on t.rid = t3.user_info_id
left join ts_role t4 on t3.role_id = t4.rid
where 1 = 1
AND T2.ZONE_GB LIKE '2201%'
AND T.IF_REVEAL = '1'
ORDER BY t2.ZONE_GB, t1.UNIT_CODE, T.USER_NO
特别注意:1.在查询之前用distinct去重
2.有order by 的时候,select 后面需加上order by后面的字段,如红色字体部分
解决方法2:使用group by
select t.rid,
t1.unitname,
t.username,
t.user_no,
t.IF_REVEAL,
'' as type,
'' as typeName,
t2.ZONE_GB,
t1.UNIT_CODE
from TS_USER_INFO t
left join ts_unit t1 on t.unit_rid = t1.rid
left join ts_zone t2 on t1.zone_id = t2.rid
left join TS_USER_ROLE t3 on t.rid = t3.user_info_id
left join ts_role t4 on t3.role_id = t4.rid
where 1 = 1
AND T2.ZONE_GB LIKE '2201%'
AND T.IF_REVEAL = '1'
GROUP BY T.RID,
t1.unitname,
t.username,
t.user_no,
t.IF_REVEAL,
t2.ZONE_GB,
t1.UNIT_CODE
ORDER BY t2.ZONE_GB, t1.UNIT_CODE,T.USER_NO
注意:这边group by好像必须加上所有的字段,不然无法运行