2 u014524572 u014524572 于 2015.07.24 15:56 提问

两个表中数据分类汇总合并的问题

我有两个表,表中各有一个类型字段,名称字段,数值字段,例 如下:
表1:
类型 名称 数值
文具 铅笔 2
耗材 纸 10
表2
类型 名称 数值
文具 铅笔 1
耗材 纸 1
表1存的是采购计划数据,表2存的是采购数据
我现在需要将两表的各自分类数据汇总后进行输出

类型 名称 采购计划数 采购数
文具 铅笔 2 1
耗材 纸 10 1

现在的写法怎么写数据都出现了交叉,请大神讲讲!
select 该 怎么写?

5个回答

danielinbiti
danielinbiti   Ds   Rxr 2015.07.24 16:02
已采纳
 select 类型,名称,sum(采购计划数) as 采购计划数,sum(采购数) as 采购数 from
(
select 类型,名称,数值 as 采购计划数,0 as 采购数 from 表1
union
select 类型,名称,0 as 采购计划数,数值 as 采购数 from 表2
) a

CSDNXIAOD
CSDNXIAOD   2015.07.24 16:00

两个数据库表中合并数据
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

strutce
strutce   Ds   Rxr 2015.07.24 16:02

select 表1.* ,表2.数值 from 表1 ,表2 where 表1.类型=表2.类型 and 表1.名称=表2.名称
这个表设计有问题

表2应该这样
表2的id,表1的主键id,采购数
表1
id,类型 名称 数值
select 表1.* ,表2.数值 from 表1 LEFT JOIN 表2 on 表1.id=表2.表1的主键id

d_hongran
d_hongran   2015.07.24 16:11

select 表1.类型,表1.名称,表1.数值 as 采购计划数,表2.数值 as 采购数 from表1, 表2 where 表1.类型=表2.类型 and 表1.名称=表2.名称

sina_2831808769
sina_2831808769   Rxr 2015.07.25 13:35

select 类型,名称,sum(采购计划数) as 采购计划数,sum(采购数) as 采购数 from
(
select 类型,名称,数值 as 采购计划数,0 as 采购数 from 表1
union
select 类型,名称,0 as 采购计划数,数值 as 采购数 from 表2
) a

Csdn user default icon
上传中...
上传图片
插入图片