思路笔记:
目的是一个字段内容可以表达出来一组数据
二进制位数0101 可以作为 定位标记
例如
when mis_hetong.qyr_company_name = ‘西北区分公司’ then ‘100000’
when mis_hetong.qyr_company_name = ‘西南区分公司’ then ‘010000’
when mis_hetong.qyr_company_name = ‘华北区分公司’ then ‘001000’
when mis_hetong.qyr_company_name = ‘华南区分公司’ then ‘000100’
when mis_hetong.qyr_company_name = ‘华东区分公司’ then ‘000010’
else ‘000001’
然后 行转列 把二进制sum
二进制 01 相加比较简单
例如 属于 华北区分公司 华南区分公司
select
a.company_id,a.company_name,sum(conv(a.binary_code,2, 10)) binary_code
from 表明
group by a.company_id,a.company_name
结果就是 001100
因为 华北区分公司 001000 华南区分公司 000100
求和是 001100
按位置标识就代表 这两个内容
PS:如有更好的方法请留言修复。