declare @t table(id int,date datetime,[money] decimal(10,2))
declare @a table(id int,[money] decimal(10,2))
insert @t select 1,'2005-01-01',10
union all select 2,'2005-02-21',20
union all select 3,'2005-03-01',30
union all select 4,'2005-03-01',40
union all select 5,'2005-05-01',50
union all select 6,'2005-06-01',10
union all select 7,'2005-11-21',60
union all select 8,'2005-11-11',70--declare @a table(id int,[money] decimal(10,2))
insert @a select 1,0
union all select 2,0
union all select 3,0
union all select 4,0
union all select 5,0
union all select 6,0
union all select 7,0
union all select 8,0
union all select 9,0
union all select 10,0
union all select 11,0
union all select 12,0
go
--select * from @t
declare @sql varchar(8000)select * from @a where @a.id [email protected] 
以前没见过这样的,帮忙解释一下。
怎么老是 报
服务器: 消息 137,级别 15,状态 2,行 6
必须声明变量 '@a'。
错误?

解决方案 »

  1.   

    去掉go查询语句这样写select a.* from @a a,@t t where a.id =t.id 你原来的那个肯定是有问题的
      

  2.   

    没问题啊.declare @t table(id int,date datetime,[money] decimal(10,2))
    declare @a table(id int,[money] decimal(10,2))
    insert @t select 1,'2005-01-01',10
    union all select 2,'2005-02-21',20
    union all select 3,'2005-03-01',30
    union all select 4,'2005-03-01',40
    union all select 5,'2005-05-01',50
    union all select 6,'2005-06-01',10
    union all select 7,'2005-11-21',60
    union all select 8,'2005-11-11',70--declare @a table(id int,[money] decimal(10,2))
    insert @a select 1,0
    union all select 2,0
    union all select 3,0
    union all select 4,0
    union all select 5,0
    union all select 6,0
    union all select 7,0
    union all select 8,0
    union all select 9,0
    union all select 10,0
    union all select 11,0
    union all select 12,0
    godeclare @sql varchar(8000)
    (所影响的行数为 8 行)
    (所影响的行数为 12 行)
      

  3.   

    还有后面一行select.请问一下这些代码是什么意思?