DECLARE @T table(tid int,tname varchar(20)); --定义table类型变量,共两列
INSERT INTO @T select id,name from testtable; --向table变量里填充数据
select * from @T ;                 --取数据,此处取数据成功
select * from @T where @T.tid = 1; --取数据,此处取数据失败
为什么加一个where条件就失败了呢?请问这是怎么回事?

解决方案 »

  1.   

    select * from @T a where a.tid = 1;
      

  2.   


    DECLARE @T table(tid int,tname varchar(20)); --定义table类型变量,共两列
    insert into @t select 1,'a'
    select * from @T ;                 --取数据,此处取数据成功
    select * from @T a where a.tid = 1; --取数据,此处取数据失败tid tname
    1 a
      

  3.   


    DECLARE @T table(tid int,tname varchar(20)); --定义table类型变量,共两列
    INSERT INTO @T select id,name from testtable; --向table变量里填充数据
    select * from @T ;                 --取数据,此处取数据成功
    select * from @T where tid = 1; --