-3

エラーが発生する理由がわかりません: ncorrect syntax near 'desc'. 最後の行が問題かそのあたりだと言っています...

select  e.DealID,    
    e.TestID, 
    e.Quantity,
    case     
        Description  
            when 'Active' then 'Positive' else e.Description      
    end as Description,   
    (SUM(e.Price * e.SalePrice) / NULLIF(SUM(e.SalePrice), 0)) as Price
from Product e
WHERE ArchiveID = @ArchiveID 
group by    e.TestID,
        Description,
        e.Quantity
order by    e.TestID,
        Description      
4

4 に答える 4

1

desc は予約語です。

group by は混乱しており、case ステートメントもおそらく同様です。

于 2012-07-11T19:19:48.463 に答える
0

編集:OPのコードを追跡中に置き換えられました。

select  e.DealID,     
    e.TestID,  
    e.Quantity, 
    case      
        Description   
            when 'Active' then 'Positive' else e.Description       
    end as Description,    
    (SUM(e.Price * e.SalePrice) / NULLIF(SUM(e.SalePrice), 0)) as Price 
from Product e 
WHERE ArchiveID = @ArchiveID  
group by    e.TestID, -- Added comma.
        Description, 
        e.Quantity 
order by    e.TestID, 
        Description  
于 2012-07-11T19:26:04.703 に答える
0

余分なコンマ:

order by    e.TestID,
                    ^---here
        Desc

これはdesc「降順」ではなく、という名前のフィールドdescになり、構文エラーと無効なフィールド名になります。

于 2012-07-11T19:20:50.410 に答える
0

愚かな、私はprocでENDをコメントアウトしました。それが全体の問題でした。

于 2012-07-11T20:09:45.050 に答える