SELECT  @count = [count] 
FROM [tt] 
WHERE  [id] = @id
选择时给一个值赋值没问题,
假如一列有多个值,可不可以一次选择同时赋值?
下面代码是错误的,但是是这个意思,SELECT  @count = [count] ,  @count2 = [count2]
FROM [tt] 
WHERE  [id] = @id
请高人指导一下。谢谢。

解决方案 »

  1.   


    declare @T table (id int,count1 int,count2 int)
    insert into @T
    select 1,5,4 union all
    select 2,8,9
    declare @id int set @id=1declare @count int,@count2 intselect @count=count1,@count2=count2 from @T where id=@idselect @count,@count2
    /*
    5           4
    */
    两列同时赋值是可以的,多行是不行的。
      

  2.   

    假如有5列值需要赋值到变量中,这样
    SELECT  @count1 = [count1]     FROM [tt]     WHERE  [id] = @id
    SELECT  @count2 = [count2]     FROM [tt]     WHERE  [id] = @id
    SELECT  @count3 = [count3]     FROM [tt]     WHERE  [id] = @id
    SELECT  @count4 = [count4]     FROM [tt]     WHERE  [id] = @id
    SELECT  @count5 = [count5]     FROM [tt]     WHERE  [id] = @id用5条语句来赋值,岂不太挫了
    有什么好办法?再请高人指点