2012-07-11 65 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。這是整個問題。