|
本帖最后由 roych 于 2010-12-23 19:00 编辑
lixiang_30 发表于 2010-12-23 18:06
这位 roych 哥哥也不在了,现在哪位高人给指点一下啊
总得让我先下班吧,^_^
联合查询是必须在SQL语句面板上输入的:右击\SQL视图,然后再进行SQL语句的输入,而且,据我所知,是不能输入条件的。
这是您给的实例的语句:
select 件号, 期初库存数量, 0 as 入库数量, 0 as 出库数量 from 期初库存
union all select 件号, 0 as 期初库存量, 入库数量, 0 as 出库数量 from 入库明细
UNION ALL select 件号, 0 as 期初库存量, 0 as 入库数量, 出库数量 from 出库明细;
大体讲一下我的理解吧(讲得不对的地方,还请大家指出):
select 件号, 期初库存数量, 0 as 入库数量, 0 as 出库数量 from 期初库存
第一步,主要是初始化作用,把0作为一个字段。也就是说,假定进出库为零。测试方法很简单,您在期初库存里输入一条记录,绝对是反映不到联合查询里去的。
Union All这一句很重要,如果没有All谓词,那么将只是出现不重复名称的记录,那么很多记录将遗失。
类似地,我们注意到:
union all select 件号, 0 as 期初库存量, 入库数量, 0 as 出库数量 from 入库明细
跟前面说的一样,这里把期初库存量和出库数量初始化,假定为0。这个相信很好理解吧,也就是说,入库明细里不存在有出库的记录。——因为出库记录在另一张表里。
第三句涵义跟第二句类似,不再赘述。
|
|