2011-06-30 83 views
0

我完全陷在這一個。我查看了其他問題,但無法找到答案的人(無論如何我都能理解)。我的查詢中有以下CTE,但MaxUserID在3個與「無效列名」MaxUserID'「錯誤一起使用的位置變成了紅色。它應該表示的列是一個int,如果有幫助的話。有什麼建議?CTE無效列名

我使用SQL Server 2008的

;with TotalCount(TotalCount,MaxUserID) 

as 

(
    Select ISNULL(count(distinct uCPR.HeaderID), 0) as TotalCount, MaxUserID 
      from ClientFeedback.dbo.UnitCountCPR uCPR 
      where 
       uCPR.DHDate between @StartDate and @EndDateMod 
       and uCPR.TargetID in (@StatusID) 
       and uCPR.UserID = MaxUserID 
       and uCPR.DTStamp between @StartDate and @EndDateMod 
       and uCPR.ClientID in (@ClientID) 
     group by MaxUserID 

) 
+2

在表UnitCountCPR中是否存在列MaxUserID? –

+0

您是否嘗試過運行它?有時,intellisense(使紅色下劃線)與db結構不同步。您可以使用'CTRL + SHIFT + R'手動刷新它。 – JNK

+0

MaxUserID在表中不存在。 我曾嘗試運行它,給我的錯誤。儘管我沒有刷新智能感知。 – lonehunter01

回答

1

刷新你的智能感知緩存中,然後用你的表的別名挑coluumns。而且,count不會爲空,你的IsNull對你沒有任何好處。是否有一個原因,而不是平等使用?

+0

明天我會試試,但考慮到我在14小時,這聽起來很合理。我需要輸入,因爲它來自SSRS報告,作爲多選參數。我會擺脫isnull,謝謝你的幫助。 – lonehunter01