日期:2014-05-19  浏览次数:20396 次

如何将两个结构相同表联合当一个表处理?
有两个相同的表A   B

id   Account   Year   Month   value  
Account+year+month   主键

A表存的是未回收的
B表存的是已回收的

就是说A表存在的唯一记录在B表中不会存在

如何将A表和B表联合成一个表,并增加一个字段   type,A表的都是0   B表的都为1
因为在其他查询中会要求两个表的数据都查,想把他们当一个表使用
如何写查询语句?还是说要建立什么东西,建立视图能达到这个功能嘛?


------解决方案--------------------
--建立视图能达到这个功能
create view v1 as
select type=0,* from a
union all
select state=1,* from a



------解决方案--------------------
SELECT id,Account,Year,Month,value,type = 0
FROM A表
UNION ALL
SELECT id,Account,Year,Month,value,type = 1
FROM B表

------解决方案--------------------
SELECT id,Account,Year,Month,value,0 as Type
FROM A表
UNION ALL
SELECT id,Account,Year,Month,value,1 as Type
FROM B表
------解决方案--------------------
union all
------解决方案--------------------
union all
可以不用视图
直接

SELECT id,Account,Year,Month,value,0 as Type
FROM A表
UNION ALL
SELECT id,Account,Year,Month,value,1 as Type
FROM B表
就可以