select count(b.punishway) ,a.happenorgname,b.punishway,b.punishtype
from t21_eap_acc_base_info a,t21_eap_acc_punish_info b
where a.accbaseid = b.accbaseid
and b.punishtype='01' and b.punishway in ('01','02','03','04','05','06','07') group by b.punishtype,b.punishway,a.happenorgcode,a.happenorgname
union all
select count(b.punishway) ,a.happenorgname,b.punishway,b.punishtype
from t21_eap_acc_base_info a,t21_eap_acc_punish_info b
where a.accbaseid = b.accbaseid
and b.punishtype='02' and b.punishway in ('01','02','03','04','05','06','07') group by b.punishtype,b.punishway,a.happenorgcode,a.happenorgname
--解释: b.punishtype='02' 组织处理
b.punishway 01:诫勉谈话
02:通报批评
03:调离原岗位.......
b.punishtype='01'纪律处分
b.punishway 01:警告
02:记过
03:记大过
04:开除.............
咋样才能取到如同这样的数据
直接sql的话可以拼接啊。