设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 4127|回复: 11
打印 上一主题 下一主题

[其它] 关于SQL的问题.

[复制链接]
跳转到指定楼层
1#
发表于 2005-6-23 23:50:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
union all SELECT 资料类别, IIf(开始日期>[期初所指日期]![日期],IIf([出库单]![出库日期]=开始日期,0,-1*[出库数量]),IIf(开始日期=[期初所指日期]![日期],0,IIf([出库单]![出库日期]=[期初所指日期]![日期],0,[出库数量]))) AS 表达式1, 0 AS 表达式2, 0 AS 表达式3

各位老大.这句SQL究竟什么意思.我看了几次都看不明白还有下面的代码有什么错误吗?

SELECT 资料类别,结转数量 AS 期初, 0 AS 入库, 0 AS 出库, FROM 资料类别,期初所指日期;

union all SELECT 资料类别, IIf(开始日期>[期初所指日期]![日期],IIf([出库单]![出库日期]=开始日期,0,-1*[出库数量]),IIf(开始日期=[期初所指日期]![日期],0,IIf([出库单]![出库日期]=[期初所指日期]![日期],0,[出库数量]))) AS 表达式1, 0 AS 表达式2, 0 AS 表达式3

FROM 期初所指日期, 出库单 INNER JOIN 出库子单 ON 出库单.出库单编号 = 出库子单.出库单编号

WHERE (((出库单.出库日期) Between 开始日期 And [期初所指日期]![日期]));



UNION ALL SELECT 资料类别,0,入库数量 ,0

FROM 资料入库单

UNION ALL SELECT 资料类别, 0, 0,出库数量

FROM 出库单 INNER JOIN 出库子单 ON 出库单.出库单编号 = 出库子单.出库单编号

WHERE 出库日期 Between 开始日期 And 截至日期



谢谢赐教
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2005-6-24 00:01:00 | 只看该作者
急,急,急!王志坚大哥.帮帮忙了.
3#
发表于 2005-6-24 03:17:00 | 只看该作者
union all 是联合两条结构相同(指的是字段数一样)的查询语句的必须放在 查询语句中间如 select a,b from tbla union all select a1,b1 from tbla1
4#
 楼主| 发表于 2005-6-24 18:47:00 | 只看该作者
那********AS 表达式1,0 AS 表达式2 呢?表达式1是什么意思?
5#
发表于 2005-6-24 18:56:00 | 只看该作者
表达式 是别名    
6#
 楼主| 发表于 2005-6-24 19:11:00 | 只看该作者
SELECT 资料类别,结转数量 AS 期初, 0 AS 入库, 0 AS 出库, FROM 资料类别,期初所指日期;UNION ALL SELECT 资料类别,0,入库数量 ,0

FROM 资料入库单;UNION ALL SELECT 资料类别, 0, 0,出库数量

FROM 出库单 INNER JOIN 出库子单 ON 出库单.出库单编号 = 出库子单.出库单编号

WHERE 出库日期 Between 开始日期 And 截至日期;就这几句代码.我怎么看都不知道错在哪儿?谁能告诉我吗?谢谢
7#
 楼主| 发表于 2005-6-24 19:12:00 | 只看该作者
海狸先生:什么叫别名啊?在这个例子中,他有作用吗?
8#
 楼主| 发表于 2005-6-24 19:14:00 | 只看该作者
[em16][em16][em06][em08]
9#
发表于 2005-6-24 20:14:00 | 只看该作者
在联合查询中不起作用因为联合查询首先继承的是第一个select语句中的列名称。您也可将union 语句中的 “as 表达式1”   删除掉也可。
10#
发表于 2005-6-24 20:17:00 | 只看该作者
以下是引用wxyh在2005-6-24 11:11:00的发言:



SELECT 资料类别,结转数量 AS 期初, 0 AS 入库, 0 AS 出库, FROM 资料类别,期初所指日期;

UNION ALL SELECT 资料类别,0,入库数量 ,0

FROM 资料入库单;

UNION ALL SELECT 资料类别, 0, 0,出库数量

FROM 出库单 INNER JOIN 出库子单 ON 出库单.出库单编号 = 出库子单.出库单编号

WHERE 出库日期 Between 开始日期 And 截至日期;

就这几句代码.我怎么看都不知道错在哪儿?谁能告诉我吗?谢谢



SELECT 资料类别,结转数量 AS 期初, 0 AS 入库, 0 AS 出库, FROM 资料类别,期初所指日期;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-29 22:09 , Processed in 0.089879 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表