日期:2014-05-18  浏览次数:20353 次

多个表记录合并(不是关联)查询显示问题
如 有数据表 A,B,C 都是入、出库记录,之间并无关联:

A表字段 A.产品1 A.日期1 A.数量1 ......
B表字段 B.产品2 B.日期2 B.数量2 ......
C表字段 C.产品3 C.日期3 C.数量3 ......

请问:

用一个SQL语句把这三个表记录合并查询一起显示为

  D.产品 D.日期 D.数量 ....

(由于之前设计的人架构不好,销售出库、生产领料、生产入库、采购入库等记录都是分开存放的)



------解决方案--------------------
SQL code

select 产品1 [D.产品],日期1 [D.日期],数量1 [D.数量]
from A
union all
select 产品2,日期2,数量2
from B
union all
select 产品3,日期3,数量3
from C

------解决方案--------------------
union 的时候,保证每个select 中出来的列名称其其他一样。

SQL code

SQL code
select 产品1 as 产品,日期1 as 日期,数量1 as 数量
from A
union all
select 产品2 as 产品,日期2 as 日期,数量2 as 数量
from B
union all
select 产品3 as 产品,日期3 as 日期,数量3 as 数量
from C

------解决方案--------------------
SQL code
select * from A
union all
select * from B
union all
select * from C

------解决方案--------------------
探讨

union 的时候,保证每个select 中出来的列名称其其他一样。

SQL code

SQL code
select 产品1 as 产品,日期1 as 日期,数量1 as 数量
from A
union all
select 产品2 as 产品,日期2 as 日期,数量2 as 数量
from B
union all
select 产品3 as 产品,日期3 as 日期,数量3 as……