数据库中内容
key 父部门 子部门 培训编号 签到 工号
id deptFather deptChild tNumber signed workid
1 技术 维护 AA 是 dsadad
2 技术 维护 AA 否 gdfgd
3 技术 维护 AA 是 gdfg
4 技术 维护 AA 否 jghj
5 技术 维护 AA 是 terter
6 生产 生产2 BB 是 dsada
7 生产 生产1 BB 是 fas
分组依据应该是 tNumber吧
要的结果是
技术 应到 5人 实到3人
生产 应到2人 实到2人
求
------解决方案--------------------
----------------------------------------------------------------
-- Author :DBA_Huangzj(發糞塗牆)
-- Date :2013-10-28 17:02:23
-- Version:
-- Microsoft SQL Server 2012 (SP1) - 11.0.3128.0 (X64)
-- Dec 28 2012 20:23:12
-- Copyright (c) Microsoft Corporation
-- Enterprise Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: )
--
----------------------------------------------------------------
--> 测试数据:[huang]
if object_id('[huang]') is not null drop table [huang]
go
create table [huang]([id] int,[deptFather] varchar(4),[deptChild] varchar(5),[tNumber] varchar(2),[signed] varchar(2),[workid] varchar(6))
insert [huang]
select 1,'技术','维护','AA','是','dsadad' union all
select 2,'技术','维护','AA','否','gdfgd' union all
select 3,'技术','维护','AA','是','gdfg' union all
select 4,'技术','维护','AA','否','jghj' union all
select 5,'技术','维护','AA','是','terter' union all
select 6,'生产','生产2','BB','是','dsada' union all
select 7,'生产','生产1','BB','是','fas'
--------------开始查询--------------------------
select [deptFather] ,COUNT(1) [应到],sum(CASE WHEN signed='是' THEN 1 ELSE 0 END ) [实到]
from [huang]
GROUP BY [deptFather]
----------------结果----------------------------
/*
deptFather 应到 实到
---------- ----------- -----------
技术 5 3
生产 2 2
*/
------解决方案--------------------
create table test (id int,deptFather nvarchar(10),deptChild nvarchar(10),
tNumber nvarchar(10),signed nvarchar(10),workid nvarchar(10))
insert into test values (1,'技术','维护','AA','是','dsadad')