-3

无法弄清楚为什么我会收到错误:'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

额外的逗号:

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

desc不是“降序”,而是一个名为 的字段desc,这将是语法错误和无效的字段名称。

于 2012-07-11T19:20:50.410 回答
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

愚蠢的,我已经在我的proc中注释掉了END。这就是整个问题。

于 2012-07-11T20:09:45.050 回答