declare @TT table ( 性别 char(2), 民族 char(10) ) insert into @TT select '女','汉' union all select '女','回' union all select '男','满' union all select '男','汉'select 民族, sum(case when 性别='女' then 1 else 0 end) '女', sum(case when 性别='男' then 1 else 0 end) '男' from @TT group by 民族
declare @TT table ( 性别 char(2), 民族 char(10) ) insert into @TT select '女','汉' union all select '女','回' union all select '男','满' union all select '男','汉'select 民族, sum(case when 性别='男' then 1 else 0 end) '男', sum(case when 性别='女' then 1 else 0 end) '女' from @TT group by 民族 民族 男 女 ---------- ----------- ----------- 汉 1 1 回 0 1 满 1 0
select 民族,max( case 性别 when '男' then 1 else 0 end) as 男, max( case 性别 when '女' then 1 else 0 end) as 女from table1 grpup by 民族
人齐 ---肚脐 结贴 ---贴东西..贴肚脐..Gang Tai
这才是Access:TRANSFORM Count(sex) SELECT nation FROM t GROUP BY nation PIVOT sex
表: 项目号 文本 30 数量 数字 交货日期 日期/时间 记录: A 10 2004-5-1 A 12 2004-5-2 A 15 2004-5-1 A 18 2004-5-3 B 10 2004-5-1 B 13 2004-5-4 B 17 2004-5-1 …… 问题: 现在我需要得到如下格式的报表 表头 项目号 2004-5-1 2004-5-2 2004-5-3 2004-5-4 …… 表体 A 25 12 18 B 27 13 …… 请教高手如何实现? TRANSFORM sum(数量) AS 总数 SELECT 项目号 FROM tablename GROUP BY 项目号 PIVOT 交货日期
Accesscreate table TTT ( 性别 char(2), 民族 char(10) ) insert into TTT select '女','汉' union all select '女','回' union all select '男','满' union all select '男','汉' select 民族, sum(iif(性别='男',1,0)) as '男', sum(iif(性别='女',1,0)) as '女' from TTT group by 民族
(
性别 char(2),
民族 char(10)
)
insert into @TT select '女','汉'
union all select '女','回'
union all select '男','满'
union all select '男','汉'select 民族,
sum(case when 性别='女' then 1 else 0 end) '女',
sum(case when 性别='男' then 1 else 0 end) '男'
from @TT group by 民族
(
性别 char(2),
民族 char(10)
)
insert into @TT select '女','汉'
union all select '女','回'
union all select '男','满'
union all select '男','汉'select 民族,
sum(case when 性别='男' then 1 else 0 end) '男',
sum(case when 性别='女' then 1 else 0 end) '女'
from @TT group by 民族
民族 男 女
---------- ----------- -----------
汉 1 1
回 0 1
满 1 0
select 民族,max( case 性别 when '男' then 1 else 0 end) as 男,
max( case 性别 when '女' then 1 else 0 end) as 女from table1 grpup by 民族
结贴 ---贴东西..贴肚脐..Gang Tai
SELECT nation FROM t GROUP BY nation
PIVOT sex
表:
项目号 文本 30
数量 数字
交货日期 日期/时间
记录:
A 10 2004-5-1
A 12 2004-5-2
A 15 2004-5-1
A 18 2004-5-3
B 10 2004-5-1
B 13 2004-5-4
B 17 2004-5-1
……
问题:
现在我需要得到如下格式的报表
表头
项目号 2004-5-1 2004-5-2 2004-5-3 2004-5-4 ……
表体
A 25 12 18
B 27 13
……
请教高手如何实现?
TRANSFORM sum(数量) AS 总数 SELECT 项目号 FROM tablename GROUP BY 项目号 PIVOT 交货日期
(
性别 char(2),
民族 char(10)
)
insert into TTT select '女','汉'
union all select '女','回'
union all select '男','满'
union all select '男','汉'
select 民族,
sum(iif(性别='男',1,0)) as '男',
sum(iif(性别='女',1,0)) as '女'
from TTT group by 民族
汉 1 1
回 1
满 1
加: count(1) as '总计'