select a,b from t1
union 
select c,d from t2字段数目、属性要一致,参见联机帮助,讲的很清楚

解决方案 »

  1.   

    UNION 运算符使用准则
    使用 UNION 运算符时请遵循以下准则: 在使用 UNION 运算符组合的语句中,所有选择列表的表达式数目必须相同(列名、算术表达式、聚合函数等)。
    在使用 UNION 组合的结果集中的相应列、或个别查询中使用的任意列的子集必须具有相同数据类型,并且两种数据类型之间必须存在可能的隐性数据转换,或提供了显式转换。例如,在 datetime 数据类型的列和 binary 数据类型的列之间不可能存在 UNION 运算符,除非提供了显式转换,而在 money 数据类型的列和 int 数据类型的列之间可以存在 UNION 运算符,因为它们可以进行隐性转换。
    用 UNION 运算符组合的各语句中对应的结果集列出现的顺序必须相同,因为 UNION 运算符是按照各个查询给定的顺序逐个比较各列。 执行以下查询:SELECT a, b FROM table3
    UNION 
    SELECT b, a FROM table4下面是结果集:a          b
    --------   -----
    1.000000   abc
    2.000000   def
    3.000000   ghi
    1.000000   jkl
    5.000000   mno在 UNION 操作中组合不同的数据类型时,这些数据类型将使用数据类型优先级的规则进行转换。在前面的示例中,int 值转换成 float 值,因为 float 类型的优先权比 int 类型高。有关更多信息,请参见数据类型的优先顺序。 以下查询将产生错误信息,因为相应列的数据类型不兼容:SELECT b, c FROM table3
    UNION 
    SELECT a, b FROM table4通过 UNION 生成的表中的列名来自 UNION 语句中的第一个单独的查询。若要用新名称引用结果集中的某列(例如在 ORDER BY 子句中),必须按第一个 SELECT 语句中的方式引用该列: 
    SELECT city AS Cities FROM stores_west
    UNION 
    SELECT city FROM stores_east
    ORDER BY city
      

  2.   

    create table 表(月份 varchar(10),编号 varchar(10),分数 int)
    insert 表 select '01','A01',80
    union all select '01','A02',75
    union all select '01','A03',82
    union all select '02','B01',85
    union all select '02','B02',86
    union all select '02','B03',92
    go
      

  3.   

    提醒一点,union会自动去除重复的行,如果想保留要用union all
      

  4.   

    union 或union all都并的操作。
    要前后的字段類型一樣才可以。
    但是union 和union all不同的在于就是union 刪除重復的記錄。
    而union all是所有的。
    select a,b,c from table1
    union 
    select a,b,c from table2
    用union 沒有重復記錄。
    union all有可能有就是所的