0

現在、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

前もって感謝します!

4

2 に答える 2

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
于 2013-07-07T20:18:19.310 に答える
1

テーブルが複数の行を返す場合があります。テーブルが 1 つの行のみを返すことを確認してください。そうしないと、複数の ID を 1 つの int 変数に格納できません。

于 2013-07-07T20:25:50.763 に答える