专业 原因类型 状态 A1 A2
电气 本专业原因 已处理 F T
电气 本专业原因 已处理 T T
电气 采购原因 已处理 F F
电气 上游专业 待处理 F T
电气 上游专业 已处理 T F
结果如下,只统计同专业、同类型、同状态中T的数量
专业 原因类型 状态 A1 A2
电气 本专业原因 已处理 1 2
电气 采购原因 已处理 0 0
电气 上游专业 待处理 0 1
电气 上游专业 已处理 1 0
------解决思路----------------------
SELECT你参考一下
[专业]
,[原因类型]
,[状态]
,SUM(CASE[A1]WHEN'T'THEN 1 ELSE 0 END)A1
,SUM(CASE[A2]WHEN'T'THEN 1 ELSE 0 END)A2
FROM
tablename
GROUP BY
[专业]
,[原因类型]
,[状态]
------解决思路----------------------
select * from
(select 专业,原因类型,状态,COUNT(A1) as A1
from tablename
where A1='T'
group by 专业,原因类型,状态) as a join
(select 专业,原因类型,状态,COUNT(A2) as A1
from tablename
where A2='T'
group by 专业,原因类型,状态) as b
on a.专业=b.专业 and
a.原因类型=b.原因类型 and
a.状态=b.状态