请大家帮忙解决一个联合查询的问题?200分

mkiss 2002-10-10 12:49:24
我要查询系统的销售数据,放在两个表中
表1:sales 是单据主表
字段:sbvid
date
customer
表2:sales_1 是单据子表,存放销售明细
字段:sbvid 是上面的单据号
qty 数量
money 销售价格
现在问题是这样:单从这两个表中查询没有问题,很简单,但是因为系统是从今年5月1日开始有数据的,以前的数据在老系统中
本来想把老系统中的数据全部导到这两个表中,但是因为这两个表和系统中很多表都是关联的,所以要改动数据结构,很不好,所以我另外建两个表和上面的两个表结构完全相同,只是去掉所有的关联,然后把5月1日以前的老系统中的数据导到这两个表中。表名改为sales1,sales1_1(字段都是一样的)
现在我要查询今年所有的销售情况,肯定要把这几个表联合起来查询,想问大家这个sql如何写?

...全文
34 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
j9988 2002-10-10
  • 打赏
  • 举报
回复
select * from (
select * from sales a,sales_1 b where a.sbvid=b.sbvid
union all
select * from sales1 a,sales1_1 b where a.sbvid=b.sbvid
) c
where year(DATE)=2002
zhenchun 2002-10-10
  • 打赏
  • 举报
回复
UNION [ALL}
all为可选项
没有使用all,合并结果集时,默认将从最后的结果集中删除重复的行
Anstinus 2002-10-10
  • 打赏
  • 举报
回复
既然结构相同,可以这样写
select ... from sales, sales_1
union
select ... from sales1, sales1_1

如果这样不能满足要求,也可以把sales和sales1导入一个临时表A,把sales1和sales1_1导入另一个临时表B,对A,B进行查询
j9988 2002-10-10
  • 打赏
  • 举报
回复
select * from sales a INNER JOIN sales_1 b ON a.sbvid=b.sbvid where year([date])=2002
union all
select * from sales1 a INNER JOIN sales1_1 b ON a.sbvid=b.sbvid where year([date])=2002
和UNION ALL 后WHERE 速度没有区别
mkiss 2002-10-10
  • 打赏
  • 举报
回复
不好意思,我懂了,其实这个问题很简单,我理解错了,分给多了,但是还要谢谢各位,不过想问一下,如果联合查询会对速度有影响吗?如何速度快一点?
lyyrw 2002-10-10
  • 打赏
  • 举报
回复
呵呵,比我的好多了,但是数据不是就重复了吗?
union 和 union all 有什么区别?
dotAge 2002-10-10
  • 打赏
  • 举报
回复
select * from sales a INNER JOIN sales_1 b ON a.sbvid=b.sbvid where year([date])=2002
union all
select * from sales1 a INNER JOIN sales1_1 b ON a.sbvid=b.sbvid where year([date])=2002

这样的速度快一点
lyyrw 2002-10-10
  • 打赏
  • 举报
回复
select a.*,b.qty,b.money from sales a inner join sales_1 b on
a.sbvid=b.sbvid where a.date>='2002-05-union
select c.*,d.qty,b.money from sales1 c inner join sales1_1 d on
c.sbvid=d.sbvid where c.date>='2002-01-01' and c.date<='2002-05-01'

不太明白你的意思,既然都已经把数据导到新表中去了,就直接从新表中取呗。
select c.*,d.qty,b.money from sales1 c inner join sales1_1 d on
a.sbvid=b.sbvid where c.date>='2002-01-01'

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧