能否将子查询结果作为查询的字段

「已注销」 2009-03-11 09:48:29
表一
id 订货年份 订货数量
1 2008 2
2 2008 2
3 2008 2
4 2008 2
5 2008 2
6 2008 2
1 2009 3
2 2009 3
3 2009 3
4 2007 1
5 2007 1
6 2007 1

生成的交叉表2
id 2007 2008 2009
1     2 3
2     2 3
3     2 3
4 1 2
5 1 2
6 1 2


能不能通过检索表1得到动态查询语句字段2007 2008 2009

像 select (select 订货年份 from 表一)from 表二

行得通不?
...全文
1715 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2009-03-12
  • 打赏
  • 举报
回复
[Quote=引用楼主 cnhaixiao 的帖子:]
表一
id 订货年份 订货数量
1 2008 2
2 2008 2
3 2008 2
4 2008 2
5 2008 2
6 2008 2
1 2009 3
2 2009 3
3 2009 3
4 2007 1
5 2007 1
6 2007 1

生成的交叉表2
id 2007 2008 2009
1     2 3
2     2 3
3     2 3
4 1 2
5 1 2
6 1 2


能不能通过检索表1得到动态查询语句字段2007 2008 2009

像 select (select 订货年份 from 表一)from 表二

行得通不?
[/Quote]

没有办法直接通过ACCESS中的查询语句来生成。

不过你可以在表一上先用查询,再用交叉查询.


QQ群 48866293 / 12035577 / 7440532 / 13666209
https://forum.csdn.net/BList/OtherDatabase .
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 .
「已注销」 2009-03-12
  • 打赏
  • 举报
回复
大侠帮忙呀
ACMAIN_CHM 2009-03-12
  • 打赏
  • 举报
回复
实在看不懂你想实现什么了。

最好你能做个例子的access文件,其中有你的数据源,然后描述一下你要得到什么结果。

QQ群 48866293 / 12035577 / 7440532 / 13666209
https://forum.csdn.net/BList/OtherDatabase .
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 .
「已注销」 2009-03-12
  • 打赏
  • 举报
回复
「已注销」 2009-03-12
  • 打赏
  • 举报
回复
select * from 表一 where 年份 in (select max(年份)from 表一 union select max(年份)-1 from 表一 )

行不?
「已注销」 2009-03-12
  • 打赏
  • 举报
回复
怎么写比较好?
「已注销」 2009-03-11
  • 打赏
  • 举报
回复

Access

如何在交叉表上查询 最近两年的订货 id 2007订货数 2008订货数

Access中怎么写
fcuandy 2009-03-11
  • 打赏
  • 举报
回复
access没有类似语法
「已注销」 2009-03-11
  • 打赏
  • 举报
回复
我的数据库是Access,行不行
fcuandy 2009-03-11
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20080614/17/22e73f33-f071-46dc-b9bf-321204b1656f.html

其实就是动态行转列, 只不过只对年份最新的三个进行,加个过滤就是了。
「已注销」 2009-03-11
  • 打赏
  • 举报
回复
?交叉表做好了

如何在交叉表上查询 最近两年的订货 id 2007订货数 2008订货数
InsistOnDoing 2009-03-11
  • 打赏
  • 举报
回复
动态交叉表,必须使用游标。
「已注销」 2009-03-11
  • 打赏
  • 举报
回复
我的意思是如何从表一中取出最新的三年

然后在在表二中检索最新三年的订货

id 2007订货数 2008订货数 2009订货数
wchm01605 2009-03-11
  • 打赏
  • 举报
回复
select id,
sum(case when 订货年份 = 2007 then 订货数量 end) 2007,
sum(case when 订货年份 = 2008 then 订货数量 end) 2008,
sum(case when 订货年份 = 2009 then 订货数量 end) 2009
from 表一
group by id

7,714

社区成员

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

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