以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 数据合并 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=103815) |
||||
-- 作者:Springamy -- 发布时间:2017/7/17 18:48:00 -- 数据合并 如图,数据库有期初表 入库表,出库表 期初跟入库表的字段没有什么关联的,字段是一样,但是条码,数量都是唯一的 ,请问,我需要把期初,入库数据相加起来,怎么加?直接用sql 好像不行, 怎么样才能把数据相加到数据库里面形成一个新的期初表
|
||||
-- 作者:有点蓝 -- 发布时间:2017/7/17 20:10:00 -- 先对入库表按条码做分组汇总,再和条码表联合 http://www.foxtable.com/webhelp/scr/0688.htm,看group by的用法
|
||||
-- 作者:Springamy -- 发布时间:2017/7/18 9:32:00 -- 还是不对阿,连不起来 找不到他们链接的条件阿
|
||||
-- 作者:有点甜 -- 发布时间:2017/7/18 9:38:00 -- 连接条件就是条码啊。现在你什么问题?不会做上传具体实例测试 |
||||
-- 作者:Springamy -- 发布时间:2017/7/18 10:04:00 -- 问题如图 下图我写的链接条件就是条码,但是你看数据,不对阿,出现了两个条码
|
||||
-- 作者:有点甜 -- 发布时间:2017/7/18 10:06:00 -- select * 改成能对应的 select 第一列,第二列 这样 |
||||
-- 作者:Springamy -- 发布时间:2017/7/18 10:45:00 -- 例子 例子中,期初表.qcid = 期初名称._Identify 期初日期为2017/3/31的期初表已有数据,要求2017/4/30的期初表 2017/4/30期初表 = 2017/3/31期初表 +入库 - 出库 (日期在3/31--4-30 之间) 条码都是唯一的不可重复的, 我不知道这个sql怎么写
此主题相关图片如下:1.png |
||||
-- 作者:有点甜 -- 发布时间:2017/7/18 11:03:00 -- select 条码, sum(数量) as 库存 from (select 条码, 数量, 入库日期 as 日期 from {入库表} union all select 条码,-数量,出库日期 from {出库表} union all select 条码 ,数量,入库日期 from {期初表}) as a where 日期 >= #2017-03-01# and 日期 < #2017-04-30# group by 条码 |
||||
-- 作者:Springamy -- 发布时间:2017/7/18 14:03:00 -- 把* 改成列,然后呢? 把select * 改成列名之后,结果并没有改变,4月份的条码出不来
|
||||
-- 作者:Springamy -- 发布时间:2017/7/18 14:42:00 -- 甜大写的SQL不对阿 条码的数量只能是1的,没有重复的条码,正确的新的期初表的数据应该是图1 排除掉行号为5的数据,4月18的数据出库了,然后条码为Q20170709001,3月22入库的数据,没有出库的,也没有查出来,请问,这三个表的数据该怎么合并 |