2012-05-07 2 views
0

방금 ​​결과 집합을 반환하는 저장 프로 시저에 계산 된 두 개의 열을 추가했습니다. C#/.NET에서 호출합니다. 내가 열 별칭을 사용할 수 없습니다SQL Server 2008 sprocs에서 열 별칭 '/ 계산 열이 반환되지 않습니까?

Daily Pricing and Volume  5/4/2012 5229 5249 5256 0 0 


ALTER PROCEDURE [dbo].[spProcedureStatsCollectionCountComparisons] 

AS 

DECLARE @MaxDataDownloadDate date 

SET @MaxDataDownloadDate = dbo.MostRecentTradeDateForDataDownload() 

SELECT ProcedureName, TradeDate, LatestCount, PriorCount, AvgAllCounts, 
    ((LatestCount-PriorCount)/PriorCount) AS PctChgLatestVsPrior, 
    ((LatestCount-AvgAllCounts)/AvgAllCounts) AS PctChgLatestVsAvg 
FROM vwProcedureStatsCollectionCountComparisons 
WHERE TradeDate = @MaxDataDownloadDate 

내 질문은 : (끝으로) 새로운 컬럼은 모두 0의 값이 여기에 내가 다시 무엇을 얻을의 첫 번째 행의 반환하고, 그 아래 SPROC는 '저장 프로 시저의 결과 집합에서, 또는 실종 된 다른 문제가 있습니까? 미리 감사드립니다 .. 요청, 관련 C# 코드로

: 예상대로 제공되는 데이터를 기반으로

SqlDataReader collectionCounts = dal.ProcedureStatsCollectionCountComparisons(); 
int rowCounter = 4; 
while (collectionCounts.Read()) 
{ 

    wkhst.Cells[rowCounter, 1] = collectionCounts["ProcedureName"]; 
    wkhst.Cells[rowCounter, 2] = collectionCounts["TradeDate"]; 
    wkhst.Cells[rowCounter, 3] = collectionCounts["LatestCount"]; 
    wkhst.Cells[rowCounter, 4] = collectionCounts["PriorCount"]; 
    wkhst.Cells[rowCounter, 5] = collectionCounts["AvgAllCounts"]; 
    wkhst.Cells[rowCounter, 6] = collectionCounts["PctChgLatestVsPrior"]; 
    wkhst.Cells[rowCounter, 7] = collectionCounts["PctChgLatestVsAvg"]; 

    rowCounter++; 
} 

excelApp.Visible = true; 
+0

은 우리에게 당신의 C# 코드를 표시합니다. 별칭 열 사용에 문제가 없어야합니다. –

+0

감사합니다. 방금 추가했습니다. – StatsViaCsh

+0

다른 문제가 있어야합니다. 예를 들어 2008 서버의 예제에서와 같이 별칭을 사용하는 SP가 있는데 정상적으로 작동합니다. * count 변수는 어떤 데이터 유형입니까? 그것들은 부호없는 타입 일 수 있고, (LatestCount-PriorCount)의 결과는 <0이므로 0으로 계산됩니까? – Treb

답변

2
내 지식으로 당

하고, 그것은 노력하고 있습니다. 왜냐하면, 당신은 아래와 같은 일을하기 때문입니다.

SELECT ((5229 - 5249)/5249) 

첫 번째 숫자가 두 번째 숫자보다 작기 때문에 항상 "0"을 반환합니다.

편집 :

SELECT (CAST ((5229 - FLOAT AS 5249)) FLOAT AS/CAST (5249))

+0

Praveen, 고마워요. 그러나 내가 기대했던 것은 아니 었습니다. ;) 계산 된 열에서 부호가있는 십진수를 어떻게 되 찾을 수 있는지 알고 있습니까? – StatsViaCsh

+0

다른 데이터 형식으로 캐스팅 할 수 있습니다 (http://msdn.microsoft.com/en-us/library/ms187928(v=sql.105).aspx). * count 변수를 모두 캐스팅하면 결과에 자동으로 일치하는 데이터 유형이 있어야합니다. – Treb

+0

그게 Praveen, 고마워요. – StatsViaCsh

관련 문제