2012-07-11 66 views
-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  
+0

我在这篇文章上失败了。我的汇总后没有逗号...抱歉。尽管原来的问题仍然存在,但仍然重新更新原始帖子。 – PositiveGuy 2012-07-11 19:31:07

+0

所以这就是真正的职位应该是...现在是准确的。当我删除聚合,它的工作原理,但为什么?我需要那个聚合返回。 – PositiveGuy 2012-07-11 19:34:00

+0

我有一种感觉,我会得到很多的选票:) – PositiveGuy 2012-07-11 19:50:57

回答

1

递减是一个保留字。

这个小组是被弄糊涂了,可能还有个案陈述。

+0

这只是为了这个职位,它并没有真正被称为在我真正的查询 – PositiveGuy 2012-07-11 19:20:18

+0

让我改变它的这个线程... – PositiveGuy 2012-07-11 19:20:38

+1

那么你需要一个真正的列名称之前desc。 - 显示你真正的查询真正的帮助:) – Randy 2012-07-11 19:20:55

0

额外的逗号:

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

果然desc不进“降”,但一个名为desc场,which'll是一个语法错误和无效的字段名称。

+0

检查新名称的描述,其独特的,而不是保留字了,这更像是我的真实查询 – PositiveGuy 2012-07-11 19:29:02

+0

坏的帖子由我,有一个逗号在那里。随时可以打我。 – PositiveGuy 2012-07-11 19:51:33

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 
+0

为什么这很重要?我需要加权平均数才能返回! – PositiveGuy 2012-07-11 19:29:27

+0

看看我的orignal文章中更新的代码...我有一个非保留字的描述,坏我的帖子。 – PositiveGuy 2012-07-11 19:29:58

+0

对不起,我张贴不好,看到我更新后的帖子。我真正的查询在汇总之后没有逗号......对于浪费的时间在这里抱歉。问题依然存在。 – PositiveGuy 2012-07-11 19:31:56

0

笨,我在我的过程中注释了END。这是整个问题。