Office中国论坛/Access中国论坛

标题: ACCSEE表转化问题 [打印本页]

作者: lingdud    时间: 2009-2-6 08:44
标题: ACCSEE表转化问题
工号        所扣项目       所扣分数
   002        劳动记录           -5
   003        职业道德           -6
   002        职业道德           -7
   003        劳动记录           -5
怎么转换成:
   工号        劳动记录        职业道德
   002            -5                -7
   003            -5                -6
要只用一句SQL就能完成的
越简单越好``
作者: ACMAIN_CHM    时间: 2009-2-6 09:09
两个方法,
方法一,你进入ACCESS菜单,插入,查询,向导交叉表查询。
TRANSFORM Sum(所扣分数)
SELECT 工号
FROM SC
GROUP BY 工号
PIVOT 所扣项目;



方法二,
select 工号,
   sum(iif(所扣项目='劳动记录',所扣分数,0) as 劳动记录,
   sum(iif(所扣项目='职业道德',所扣分数,0) as 职业道德
from yourTable
group by 工号




******************
*  一切皆有可能  *
******************


QQ群 48866293 / 12035577 / 7440532 / 13666209
http://forum.csdn.net/SList/Access .
http://www.accessbbs.cn/bbs/index.php .
http://www.accessoft.com/bbs/index.asp .
http://www.access-programmers.co.uk/forums .
http://www.office-cn.net .
.
http://www.office-cn.net/home/space.php?uid=141646 .
作者: lingdud    时间: 2009-2-6 09:23
好像2种都不行``
作者: lingdud    时间: 2009-2-6 09:43
方法一 在ACCSEE上可行 但用软件调用就不行了`
方法二 操作符丢失
作者: lingdud    时间: 2009-2-7 08:09
本帖最后由 lingdud 于 2009-2-18 10:01 编辑

iif好像不能这么用
select 工号,
   sum(iif(所扣项目='劳动记录',所扣分数,0)) as 劳动记录,
   sum(iif(所扣项目='职业道德',所扣分数,0)) as 职业道德
from yourTable
group by 工号





欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3