SQL Server:Declare导致查询出现问题

时间:2013-07-07 20:11:37

标签: asp.net sql-server

我目前遇到SQL Server的问题,我无法弄清楚。

错误是:

  

为变量赋值的SELECT语句不能与数据检索操作结合使用

SQL:

DECLARE @IdUser INT 

Select 
    @IdUser = Id, 
    Username, 
    (Select Count(*) From GagsLikes where Userid = @IdUser And Good = 1) as GagLikes, 
    (Select Count(*) From GagsViews where UserID = @IdUser), 
    (Select Count(*) From Gags Where UserID = @IdUser) as GagViews 
From 
    Users  
Order by 
    GagLikes, GagViews

提前致谢!

2 个答案:

答案 0 :(得分:2)

您可能无法使用该变量,请尝试以下操作:

Select 
    U.Id, 
    U.Username, 
    (Select Count(*) From GagsLikes where Userid = U.Id And Good = 1) as GagLikes, 
    (Select Count(*) From GagsViews where UserID = U.Id), 
    (Select Count(*) From Gags Where UserID = U.Id) as GagViews 
From 
    Users AS U
Order by 
    GagLikes, GagViews

答案 1 :(得分:1)

您的表可能会返回多行。确保您的表只返回一行,否则它可以 t将多个id存储到一个int变量中。