select name,age from a where code = '1'
union all
select name,age from b where code = '3'

解决方案 »

  1.   

    select name,age from a where code = '1'
    union all
    select name,age from b where code = '3'
      

  2.   

    select name,age from a where code = '1'
    union 
    select name,age from b where code = '3'
      

  3.   

    select name,age from a where code = '1'
    union all/union --加上all,不删除可能重复的选项,不加all,删除重复的选项
    select name,age from b where code = '3'
      

  4.   

    不过好象不能加上where语句啊
    select name,age from a 
    union all
    select name,age from b 
    是可以找出两个表里面的所有数据的,但是
    select name,age from a where code = '1'
    union 
    select name,age from b where code = '3'
    就查不出来了
    还有个问题,如果两个表里面取的字段不一样可以吗?
      

  5.   

    select name,age from 数据库1..a 表 where code='1'
    union all
    select name,age from 数据库2..b 表 where code='3'
      

  6.   

    加where 是可以的,只要理解这个语句,取不取相同字段你应该也就知道怎么做了。
      

  7.   

    select name,age from 数据库1..a 表 where code='1'
    union all
    select name,age from 数据库2..b 表 where code='3'
    这个跟前面的几位给的语句有什么不一样吗?好象也不可以 啊
      

  8.   

    declare @tb1 table (name varchar(20),age int)
    insert into @tb1
    select '张三',20 union all
    select '李四',21
    declare @tb2 table (name varchar(20),age int)
    insert into @tb2
    select '王五',22select * from @tb1 union all select * from @tb2/*
    name                 age         
    -------------------- ----------- 
    张三                   20
    李四                   21
    王五                   22(所影响的行数为 3 行)
    */
      

  9.   

    看错了。应该是:
    declare @tb1 table (name varchar(20),age int,code int)
    insert into @tb1
    select '张三',20,1 union all
    select '李四',21,2
    declare @tb2 table (name varchar(20),age int,code int)
    insert into @tb2
    select '王五',22,3select * from @tb1 where code=1 union all select * from @tb2 where code=3/*
    name                 age         code        
    -------------------- ----------- ----------- 
    张三                   20          1
    王五                   22          3(所影响的行数为 2 行)
    */
      

  10.   

    select name,age from a where code = '1'
    union all
    select name,age from b where code = '3'是对的..
      

  11.   

    select name,age from a where code = '1'
    union all
    select name,age from b where code = '3'
      

  12.   

    sql 2000的联机帮助文档
    ---------------------------------------
    使用 UNION 运算符组合多个结果
    UNION 运算符使您得以将两个或多个 SELECT 语句的结果组合成一个结果集。使用 UNION 组合的结果集都必须具有相同的结构。而且它们的列数必须相同,并且相应的结果集列的数据类型必须兼容。有关更多信息,请参见 UNION 运算符使用指南。 UNION 的指定方式如下:select_statement UNION [ALL] select_statement例如,Table1 和 Table2 具有相同的两列结构。Table1     Table2   
    ColumnA ColumnB   ColumnC ColumnD 
    char(4) int   char(4) int 
    ------- ---   ------- --- 
    abc 1   ghi 3 
    def 2   jkl 4 
    ghi 3   mno 5 下面的查询在这两个表之间创建 UNION 运算:SELECT * FROM Table1
    UNION
    SELECT * FROM Table2下面是结果集:ColumnA  ColumnB
    -------  --------
    abc      1
    def      2
    ghi      3
    jkl      4
    mno      5UNION 的结果集列名与 UNION 运算符中第一个 SELECT 语句的结果集中的列名相同。另一个 SELECT 语句的结果集列名将被忽略。默认情况下,UNION 运算符从结果集中删除重复的行。如果使用 ALL 关键字,那么结果中将包含所有行并且将不删除重复的行。 UNION 运算的准确结果取决于安装过程中选择的排序规则和 ORDER BY 子句。有关不同排序规则的效果的更多信息,请参见 SQL Server 排序规则基础知识。 Transact-SQL 语句中可以出现任意数目的 UNION 运算符,例如:SELECT * FROM TableA
    UNION
    SELECT * FROM TableB
    UNION
    SELECT * FROM TableC
    UNION
    SELECT * FROM TableD默认情况下,Microsoft® SQL Server™ 2000 从左到右对包含 UNION 运算符的语句进行取值。使用圆括号指定求值的顺序。例如,以下语句并不等价:/* First statement. */
    SELECT * FROM TableA
    UNION ALL
    (   SELECT * FROM TableB
       UNION
       SELECT * FROM TableC
    )
    GO/* Second statement. */
    (SELECT * FROM TableA
     UNION ALL
     SELECT * FROM TableB
    )
    UNION
    SELECT * FROM TableC)
    GO在第一个语句中,将消除 TableB 和 TableC 之间的联合中的重复行。而在该集与 TableA 之间的并集中,不消除重复行。在第二个语句中,TableA 和 TableB 之间的联合中包含重复行,但在随后与 TableC 的联合中将消除。ALL 关键字对此表达式的最终结果没有影响。如果使用 UNION 运算符,那么单独的 SELECT 语句不能包含其自己的 ORDER BY 或 COMPUTE 子句。只能在最后一个 SELECT 语句的后面使用一个 ORDER BY 或 COMPUTE 子句;该子句适用于最终的组合结果集。GROUP BY 和 HAVING 子句只能在单独的 SELECT 语句中指定。
      

  13.   

    没有跟WHERE语句是可以的啊,但加了WHERE语句就是不行,也没有报错,不知道什么原因