Foxtable(狐表)用户栏目专家坐堂 → 请教SQL语句写法


  共有11985人关注过本帖树形打印复制链接

主题:请教SQL语句写法

帅哥哟,离线,有人找我吗?
xj22710
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:40 积分:432 威望:0 精华:0 注册:2008/9/1 21:23:00
请教SQL语句写法  发帖心情 Post By:2010/12/10 17:31:00 [只看该作者]

select a.区,sum(b.销售金额),sum(b.销售成本),sum(b.销售税) from jcxx a,xssj_2009 b where a.sku=b.sku and b.日期 between '2009-12-1' and '2009-12-31' group by a.区

select a.区,sum(b.销售金额),sum(b.销售成本),sum(b.销售税) from jcxx a,xssj_2010 b where a.sku=b.sku and b.日期 between '2010-1-1' and '2010-1-31' group by a.区

如上,两条语句分别查找2个结构完全相同的销售数据表(按年度制表),现在要求得到这两个月的销售总计(合并结果),如何用一条语句实现?

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/12/10 17:53:00 [只看该作者]

select a.区,sum(b.销售金额),sum(b.销售成本),sum(b.销售税) from jcxx a,xssj_2009 b where a.sku=b.sku and b.日期 between '2009-12-1' and '2009-12-31'  or b.日期 between '2010-1-1' and '2010-1-31' group by a.区

 回到顶部
帅哥哟,离线,有人找我吗?
唐尸三摆手
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:928 积分:7769 威望:0 精华:13 注册:2008/9/1 11:58:00
  发帖心情 Post By:2010/12/10 18:03:00 [只看该作者]

楼主需要从三个表提取数据的,二楼的代码好像不行的哦xssj_2009和xssj_2010 好像是两个表啊

 回到顶部
帅哥哟,离线,有人找我吗?
唐尸三摆手
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:928 积分:7769 威望:0 精华:13 注册:2008/9/1 11:58:00
  发帖心情 Post By:2010/12/10 18:08:00 [只看该作者]

试试这个:

;with am as
(
select a.区,sum(b.销售金额),sum(b.销售成本),sum(b.销售税) from jcxx a,xssj_2009 b where a.sku=b.sku and b.日期 between '2009-12-1' and '2009-12-31' group by a.区

union
select a.区,sum(b.销售金额),sum(b.销售成本),sum(b.销售税) from jcxx a,xssj_2010 b where a.sku=b.sku and b.日期 between '2010-1-1' and '2010-1-31' group by a.区
)
select a.区,sum(b.销售金额) as 销售金额,sum(b.销售成本) as 销售成本,sum(b.销售税) as 销售税  from am group by a.区

[此贴子已经被作者于2010-12-10 18:08:55编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
xj22710
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:40 积分:432 威望:0 精华:0 注册:2008/9/1 21:23:00
  发帖心情 Post By:2010/12/10 18:46:00 [只看该作者]

楼上的估计是对的,但我的是SQL Sever 2000,好像不支持

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/12/11 0:21:00 [只看该作者]

Select 区, sum(销售金额), Sum(销售成本), Sum(销售额) From

(select a.区 as 区, sum(b.销售金额) as 销售金额 ,sum(b.销售成本) as 销售成本, sum(b.销售税) as 销售额 from jcxx a,xssj_2009 b where a.sku=b.sku and b.日期 between '2009-12-1' and '2009-12-31' group by a.区 
UNION ALL

select a.区 as 区 ,sum(b.销售金额) as 销售金额, sum(b.销售成本) as 销售成本, sum(b.销售税) As 销售额 from jcxx a,xssj_2010 b where a.sku=b.sku and b.日期 between '2010-1-1' and '2010-1-31' group by a.区)

Group by 区


 回到顶部
帅哥哟,离线,有人找我吗?
wcs
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1033 积分:7391 威望:0 精华:0 注册:2008/8/31 22:52:00
  发帖心情 Post By:2010/12/11 21:39:00 [只看该作者]

是的,用union

 

我以前是这样搞的。


 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/12/11 22:03:00 [只看该作者]

Q盲!  简单的还能看看,这么复杂的俺不懂,使劲看也看不懂···  呵呵。  

 回到顶部
帅哥哟,离线,有人找我吗?
wcs
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1033 积分:7391 威望:0 精华:0 注册:2008/8/31 22:52:00
  发帖心情 Post By:2010/12/12 22:40:00 [只看该作者]

多试试就可以了。

 

我的方法是,在ACCESS的设计视图里面做查询,可视化的很方便。

 

再在SQL视图里面看查询语句,复制到狐表里来,表名加个{}。


 回到顶部