Office中国论坛/Access中国论坛

标题: 如何用sql语句生成如下视图 我有点转不过弯 [打印本页]

作者: liuyi_yt    时间: 2006-10-12 00:26
标题: 如何用sql语句生成如下视图 我有点转不过弯
表中的记录是这样的







张三

100



李四

200



王二

300



张三

400



李四

500

如何用sql查询语句生成以下视图形式







张三

100

400



李四

200

500



王二

300

0
作者: wwwwa    时间: 2006-10-12 00:45
如只有两列的话:

select xm,first(fs),
iif(first(fs)=last(fs),0,last(fs)) from a20
group by xm

作者: liuyi_yt    时间: 2006-10-12 01:16
不止两条记录怎么写,  而且mssql中应该怎么写

[此贴子已经被作者于2006-10-11 17:26:45编辑过]


作者: wwwwa    时间: 2006-10-12 16:05
以下是引用liuyi_yt在2006-10-11 17:16:00的发言:


不止两条记录怎么写,  而且mssql中应该怎么写



1、这里是ACCESS论坛;

2、基本思路:添加辅助列,自增字段,在SQL SERVER中用IDENTITY

SELECT * into ff FROM (SELECT (select count(*) from a20 where a.id>=id and a.xm=xm) as xh ,*
FROM a20 a
ORDER BY xm, xh)

SELECT XM,SUM(IIF(XH=1,FS,0)),SUM(IIF(XH=2,FS,0)),SUM(IIF(XH=3,FS,0))..... from ff

GROUP BY XM
相对而言,ACCESS简单得多,

TRANSFORM first(fs)
SELECT xm
FROM ff
GROUP BY xm
PIVOT xh;





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