access中查询语句的问题

竹林听雨2005 2009-08-21 10:47:55
有这样的表结构:
------------------------------------------------
站号  时间         数值
A01 2009-08-12 00:10:00  1002
A01 2009-08-12 00:20:00  1003
A01 2009-08-12 00:30:00  1012
A01 2009-08-12 00:40:00  1022
A01 2009-08-12 00:50:00  1001
A01 2009-08-12 01:00:00  1098
A01 2009-08-12 01:10:00  1030
A01 2009-08-12 01:20:00  1023
A01 2009-08-12 01:30:00  1053
A01 2009-08-12 01:40:00  1056
A01 2009-08-12 01:50:00  1010
A01 2009-08-12 02:00:00  1032

A03 2009-08-12 00:10:00  1020
A03 2009-08-12 00:20:00  1023
A03 2009-08-12 00:30:00  1098
A03 2009-08-12 00:40:00  1000
A03 2009-08-12 00:50:00  1089
A03 2009-08-12 01:00:00  1020

现在想得到这样的结果:
-------------------------------------------
时间         A01  A03
2009-08-12 01:00:00  1023 1041
2009-08-12 02:00:00  1034 NULL


现在使用这样的语句:
TRANSFORM cint(avg(数据)) AS 数据
SELECT format$(时间,"yyyy-mm-dd Hh:00:00") AS 观测时间
FROM table
GROUP BY format$(时间,"yyyy-mm-dd Hh:00:00")
ORDER BY format$(时间,"yyyy-mm-dd Hh:00:00")
PIVOT 站号 in ('A1');

上面的语句是可以查询的,但如果加入A3的列,则实现不了,提示"无效的null使用",可能是因为A3列数据缺少的缘故吧,请教如何解决?

还有一个问题:这里是输出整时次的结果,如果想输出整30分的结果应该如何处理?就是包括30分与整点的那种效果,2009-08-12 01:30:00与2009-08-12 02:00:00
...全文
89 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
ycyhjj2865 2009-08-21
  • 打赏
  • 举报
回复


TRANSFORM Sum(QY.数据) AS 数据值
SELECT QY.时间
FROM (SELECT Table.站号, Table.时间, Table.数据 FROM Table WHERE Second([时间])=0 AND Minute([时间])=0 OR Minute([时间])=30) as QY
GROUP BY QY.时间
PIVOT QY.站号;


7,732

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧