要用别名:
--组合查询之
select a.name,b.Name
from @A a,@B b
where a.Aname=b.Bname

解决方案 »

  1.   

    谢谢 pbsql(风云) ! 可不可以直接用join连接两个查询获得的表呢?谢谢
      

  2.   

    select a.name,b.Name
    from @A a join @B b on a.Aname=b.Bname
      

  3.   

    刚刚试了以下,采用下面句子更简单:
    set nocount on
    use NETCMS
    goselect a.name,b.name
    from 
    (select name,xtype
    from syscolumns
    where id in
    (
    select id 
    from sysobjects 
    where name='合同表' 
    and xtype='U'
    )) a,
    (select name,xtype
    from systypes
    ) b
    where a.xtype=b.xtype
    set nocount off现在不明白的是如何写存储过程:就是要求输入为表名,输出为一个表(这个表名的所有字段和字段类型组成),请高手不吝赐教!谢谢! :)
      

  4.   

    to zjmym(缘木) ,因为SQL联机帮助中说:
    尽可能使用表变量而不使用临时表。table 变量有以下优点: table 变量的行为类似于局部变量,有明确定义的作用域。该作用域为声明该变量的函数、存储过程或批处理。 
    在其作用域内,table 变量可像常规表那样使用。该变量可应用于 SELECT、INSERT、UPDATE 和 DELETE 语句中用到表或表的表达式的地方。但是,table 不能用在下列语句中:INSERT INTO table_variable EXEC 存储过程。SELECT select_list INTO table_variable 语句。在定义 table 变量的函数、存储过程或批处理结束时,自动清除 table 变量。在存储过程中使用表变量与使用临时表相比,减少了存储过程的重新编译量。涉及表变量的事务只在表变量更新期间存在。这样就减少了表变量对锁定和记录资源的需求。