如 有数据表 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.数量 ....(由于之前设计的人架构不好,销售出库、生产领料、生产入库、采购入库等记录都是分开存放的)

解决方案 »

  1.   


    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
      

  2.   

    union 的时候,保证每个select 中出来的列名称其其他一样。
    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
      

  3.   

    select * from A
    union all
    select * from B
    union all
    select * from C
      

  4.   

    每个查询后都可以带Where 查询条件的吧? 如 
    select 产品1 [D.产品],日期1 [D.日期],数量1 [D.数量]
    from A Where 日期1 Between '2012-06-01' and '2012-06-30' union all
    select 产品2,日期2,数量2
    from B
    union all
    select 产品3,日期3,数量3
    from C