以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请教SQL语句写法 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=8817) |
-- 作者:xj22710 -- 发布时间:2010/12/10 17:31:00 -- 请教SQL语句写法 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个结构完全相同的销售数据表(按年度制表),现在要求得到这两个月的销售总计(合并结果),如何用一条语句实现? |
-- 作者:狐狸爸爸 -- 发布时间: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.区 |
-- 作者:唐尸三摆手 -- 发布时间:2010/12/10 18:03:00 -- 楼主需要从三个表提取数据的,二楼的代码好像不行的哦xssj_2009和xssj_2010 好像是两个表啊 |
-- 作者:唐尸三摆手 -- 发布时间:2010/12/10 18:08:00 -- 试试这个: ;with am as union [此贴子已经被作者于2010-12-10 18:08:55编辑过]
|
-- 作者:xj22710 -- 发布时间:2010/12/10 18:46:00 -- 楼上的估计是对的,但我的是SQL Sever 2000,好像不支持 |
-- 作者:狐狸爸爸 -- 发布时间: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.区 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 -- 发布时间:2010/12/11 21:39:00 -- 是的,用union
我以前是这样搞的。 |
-- 作者:mr725 -- 发布时间:2010/12/11 22:03:00 -- Q盲! 简单的还能看看,这么复杂的俺不懂,使劲看也看不懂··· 呵呵。 |
-- 作者:wcs -- 发布时间:2010/12/12 22:40:00 -- 多试试就可以了。
我的方法是,在ACCESS的设计视图里面做查询,可视化的很方便。
再在SQL视图里面看查询语句,复制到狐表里来,表名加个{}。 |